2012-12-28 14 views
11

Mam RelativeLayout, gdzie mam jeden TextView i ten element ma atrybut android:layout_toLeftOf zestaw do innego TextView w tym samym układzie.Czy mogę ustawić android: layout_toLeftOf programowo?

W zależności od otrzymanych danych przez aplikację z serwera, muszę ustawić widoczność tej jednej TextView do GONE i ustawić widoczność ProgressBar do VISIBLE a potem muszę pierwszy TextView lewo wyrównać z tym paskiem postępu .

Czy można to zrobić programowo?

Jeśli nie, czy mógłby Pan wymyślić sposób rozwiązania tego problemu?

Dziękujemy Felipe

EDIT

Po poniżej radę, to jak mój kod pracy wygląda następująco:

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); 

Dzięki za wsparcie!

Odpowiedz

17

addRule

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

słodkie! Mam jednak jedną wątpliwość: czy youtTextView jest dodawany do LEFT_OF co? Czy obiekt ProgressBar powinien być taki sam, jaki mam w moim układzie? –

Powiązane problemy