2017-03-16 1 views
1
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); 
          params.gravity = Gravity.BOTTOM; 
          myFrameLayout.setLayoutParams(params); 

で作業していない動的に設定しました。私はこのコードを試していますが、動作していません。重力は、私は私のフレームレイアウト内のテキストのみビューを持っていると私はいくつかの条件で動的に下にその重力を設定したいでframeLayout

<FrameLayout 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="top|center_horizontal"> 

     <TextView 
      android:id="@+id/preview_content" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
    </FrameLayout> 
+2

テキストビューフレームレイアウトではありません。重力= Gravity.BOTTOM –

+0

私が言ったように試しましたが、まだ動作していません – Anupriya

+0

誰でも教えてください、params.gravityはgravityまたはlayoutGravityと同等ですか? – Anupriya

答えて

0

フレームレイアウトの代わりに線形レイアウトを使用するか、フレームレイアウト内で線形レイアウトを使用してください。

0
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); 
        params.gravity = Gravity.BOTTOM; 
        myTextView.setLayoutParams(params); 

paramsをtextviewのインスタンスに設定するこのコードを使用してください。

0

多分あなたはOnCreate関数でそれをやろうとしている、とフレームレイアウトがまだ作成されていない、あなたはこれが唯一作成したフレームレイアウトの後に重力を設定します

ViewTreeObserver viewTreeObserver = myFrameLayout.getViewTreeObserver(); 
      if (viewTreeObserver.isAlive()) { 


    viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 
       @Override 
       public void onGlobalLayout() { 
        myFrameLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this); 

FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); 
        params.gravity = Gravity.BOTTOM; 
        myFrameLayout..setLayoutParams(params); 
    } 
    } 
} 

を使用して試すことができます。

関連する問題