2012-12-28 12 views
11

私はTextViewという1つのRelativeLayoutを持っていますが、この要素は同じレイアウトの別のTextViewにandroid:layout_toLeftOf属性が設定されています。android:layout_toLeftOfをプログラム的に設定することはできますか?

は、サーバからアプリケーションによって受信されたデータに応じて、私はGONEにこのいずれかのTextViewの可視性を設定し、ProgressBarVISIBLEへの可視性を設定する必要があり、その後、私は、このプログレスバーを左揃え最初のTextViewを必要。

これはプログラマチックに達成できますか?

もしそうでなければ、問題に取り組む方法を考えることができますか?

TextProgressBar txtProgressBar = (TextProgressBar) v.findViewById(R.id.progressBarPointsInProgress); 
TextView offerName = (TextView) v.findViewById(R.id.textViewOfferName); 
android.widget.RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)offerName.getLayoutParams(); 
params.addRule(RelativeLayout.LEFT_OF, R.id.progressBarPointsInProgress); 
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
offerName.setLayoutParams(params); 

サポートしてくれてありがとう:

感謝 フェリペ

アドバイスの下に次のEDIT

が、これは私の作業コードがどのように見えるかです!

答えて

17

追加ルール

RelativeLayout.Layoutparams params = (RelativeLayout.LayoutParams)ProgressBar.getLayoutParams(); 
params.addRule(RelativeLayout.LEFT_OF, R.id.youtTextView); 
+0

スウィート!私は1つの疑いを持っています:youtTextViewはLEFT_OFに何が追加されていますか? ProgressBarオブジェクトは私のレイアウトにあるはずですか? –

関連する問題