2012-05-04 10 views
0

私はxmlで次のことをしています。相対レイアウトで使用される:コードでAndroid:コントロールを別のコントロールの下にプログラムで再配置

<TextView 
    android:id="@+id/tv1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/>   
    <TextView 
    android:id="@+id/tv2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/tv1"/> 
    <TextView 
    android:id="@+id/tv3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/tv2" /> 

、Iは第2のTextView(TV2)を削除した場合、私はTV1以下TV3を再配置します。私はxmlでこれを行う方法を見つけることができませんでしたので、私はプログラムでそれをやりたいこれどうやってするの?どうもありがとう!

答えて

0

私はそれがここで問題にかなり類似していることを想定しています - >How to set layout_weight attribute dynamically from code?

+1

実際、これはかなり近いです。その投稿は、RelativeLayoutとは無関係の重みを扱うので、おそらく私はその投稿を見つけられませんでした。それでも、一般的な解決策は正しいです。どうもありがとう。 – AndroidDev

0

リントは、ネストされた重量とパフォーマンスの問題を報告します。それほど目立つわけではありませんが、別の解決方法があります。

 

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

p.addRule(RelativeLayout.BELOW, R.id.tv1); 
tv3.setLayoutParams(p); 
 
関連する問題