2012-03-21 2 views
1

Это похоже на мой previous question, но он не работал с Kindle Fire (2.3.4).
Я использовал FragmentTransaction для добавления фрагмента в FrameLayout. Я хочу динамически изменять границу RelativeLayout, используемую фрагментом.Настройка полей на RelativeLayout не работает на Kindle Fire

Тем не менее, поля не меняются с помощью FrameLayout.layoutParams на Kindle Fire. Однако это работает на 3.2.1. Я также попытался использовать setMargins(), и он не работал.

Кто-нибудь знает, как я могу динамически изменять поля на Kindle Fire?

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.infocard, container, false); 

     RelativeLayout infoLayout = (RelativeLayout) view.findViewById(R.id.info); 
     infoLayout.setOnClickListener(new EmptyClickListener()); 

     final int width = 250; 
     final int height = 270; 
     int leftMargin = 0; 
     int topMargin = 0; 
     FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(width, height); 

     if (x - width < 0) { 
      leftMargin = 0; 
     } else { 
      leftMargin = x - width + 40; 
     } 

     if (y >= 400 && y <= 480) { 
      topMargin = 160; 
     } 

     params.leftMargin = leftMargin; 
     params.topMargin = topMargin; 

     //params.setMargins(leftMargin, topMargin, 0, 0); //this didnt work either 
     infoLayout.setLayoutParams(params); 

     TextView titleView = (TextView) view.findViewById(R.id.titleCard); 
     titleView.setText(title); 

     return view; 
    } 
+0

Является ли InfoLayout подвид из FrameLayout или RelativeLayout? –

+0

infoLayout - RelativeLayout – heero

+0

Почему вы используете FrameLayout.LayoutParams вместо RelativeLayout.LayoutParams? Вы пытались использовать RelativeLayout.LayoutParams? Более того, вы пытались вызвать params = infoLayout.getParams(); а затем редактировать параметры, а не воссоздавать их? –

ответ

3

Хорошо я был в состоянии исправить это, обернув мой InfoLayout в другом RelativeLayout, и теперь он работает отлично

Смежные вопросы