Как изменить Android: layout_alignParentRight время выполнения по коду Java - PullRequest
4 голосов
/ 28 марта 2012

У меня есть вид списка чата, в котором имя отправителя должно быть выровнено, а ответ получателя должен быть справа, а затем наоборот, когда получатель становится отправителем.

Вот мой xml-файл:

<?xml version="1.0" encoding="utf-8"?>

<TextView android:id="@+id/chatmessagename"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true"
    android:textSize="16sp" android:textStyle="bold"
    android:paddingBottom="1dp" />
<TextView android:id="@+id/chatmessagedate"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"    
    android:autoLink="none" />
<TextView android:id="@+id/chatmessagetext"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/chatmessagename"
    android:autoLink="all" />

Теперь во время выполнения я хочу изменить значение layout_alignParentRight textview.Можно ли это сделать?

Ответы [ 3 ]

13 голосов
/ 28 марта 2012

Попробуйте:

... 
RelativeLayout.LayoutParams layoutParams =(RelativeLayout.LayoutParams)yourView.getLayoutParams();
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_.....); //ALIGN_PARENT_RIGHT / LEFT etc.
yourView.setLayoutParams(params);
... 
1 голос
/ 28 марта 2012

Да, возможно, вы можете использовать эти вещи: -

            RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
                android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT,
                android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);


rlp.addRule(RelativeLayout.ALIGN_RIGHT,
                    textviewid);

из этого кода вы получите ссылку.

0 голосов
/ 28 марта 2012

используйте этот код

RelativeLayout.LayoutParams _params = new RelativeLayout.LayoutParams(
                          LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
        _params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        apps_layout.setLayoutParams(_params);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...