2012-03-21 12 views
1

これは私のprevious questionに似ていますが、Kindle Fire(2.3.4)で動作しませんでした。
FragmentTransactionを使用して、FrameLayoutにFragmentを追加しました。私は、フラグメントによって使用されるRelativeLayoutのマージンを動的に変更したいと思います。RelativeLayoutの余白を設定すると、Kindleの火災で動作しません

ただし、Kindle FireのFrameLayout.layoutParamsでは余白が変わりません。しかし、これは3.2.1で動作します。私もsetMargins()を使って試してみました。

私は動的にKindleの火災の余白を変更する方法を知っていますか?

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

がでframeLayoutまたはRelativeLayoutのサブビューinfoLayoutです完璧に動作OK? –

+0

infoLayoutはRelativeLayoutです – heero

+0

なぜRelativeLayout.LayoutParamsの代わりにFrameLayout.LayoutParamsを使用していますか? RelativeLayout.LayoutParamsを使ってみましたか?あなたはparams = infoLayout.getParams();を呼び出してみましたか?パラメータを再作成するのではなく編集するのですか? –

答えて

3

私は別のRelativeLayoutで私infoLayoutをラップすることにより、この問題を解決することができた、と今では

関連する問題