2012-03-28 103 views
4

我有聊天列表視圖,其中發件人名稱應該左對齊,接收者的回覆應該在右側,然後反之,當接收者成爲發件人時。如何通過java代碼更改android:layout_alignParentRight運行時

這裏是我的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" /> 

現在在運行時我想改變的TextView的layout_alignParentRight值。有可能嗎?

回答

12

嘗試:

... 
RelativeLayout.LayoutParams layoutParams =(RelativeLayout.LayoutParams)yourView.getLayoutParams(); 
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_.....); //ALIGN_PARENT_RIGHT/LEFT etc. 
yourView.setLayoutParams(params); 
... 
+1

謝謝appserv,這是一個伎倆對於我..應用Align_parent後,它不能在一個文本視圖,由於layout_width =「fill_parent」轉換爲「wrap_content」後它工作......只是一個常用的在這裏使用:) – Zoombie 2012-03-28 12:32:13

1

肯定是可能的,你可以用這個東西: -

  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

使用此代碼

RelativeLayout.LayoutParams _params = new RelativeLayout.LayoutParams(
          LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
     _params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
     apps_layout.setLayoutParams(_params); 
相關問題