我有一個表單。其中有幾行。每行有兩個並排的文本視圖。左邊的textview是靜態的,右邊的textview是動態的。基於右側文本視圖的文本(可以是任意行數),下一行的起點必須如下所示。我正在使用relativelayout並使用xml編寫。我該怎麼做。Android相對佈局對齊
注:我不想使用網格或表格佈局由於一些限制。
我有一個表單。其中有幾行。每行有兩個並排的文本視圖。左邊的textview是靜態的,右邊的textview是動態的。基於右側文本視圖的文本(可以是任意行數),下一行的起點必須如下所示。我正在使用relativelayout並使用xml編寫。我該怎麼做。Android相對佈局對齊
注:我不想使用網格或表格佈局由於一些限制。
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); params.addRule(xxxxx);
我開發了適合您需求的自定義RelativeLayout擴展組件。這是一個關鍵值線,可以從xml設置鍵和值。請參閱code here。樣品使用在project
簡要說明:
KeyValueLine是定製的RelativeLayout擴展組件。您可以使用自定義名稱空間從xml設置鍵值和值。
要在項目中添加此視圖,您應該複製xml layout到/ RES /佈局文件夾(修改其外觀,以滿足您的要求,刪除所有花式後來通過代碼來進行調整),並添加
<declare-styleable name="KeyValueLine">
<attr name="key" format="string" />
<attr name="value" format="string" />
</declare-styleable>
到你的/res/values/attrs.xml文件。然後將java implementation添加到您的項目中。瞧! - 您可以使用視圖XML作爲<%your-package-name%.KeyValueLine .../>
希望它能幫助:)
你可以試試這個方法
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/firstLinearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:singleLine="true"
android:text="Static Text 1"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:singleLine="false"
android:text="Multiple line\nDynamic text 1"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:id="@+id/secondLinearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/firstLinearLayout"
android:layout_marginTop="8dp" >
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:singleLine="true"
android:text="Static Text 2"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:singleLine="false"
android:text="Multiple line\nDynamic text 2"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</RelativeLayout>
具有u檢查我的答案 – kId 2014-09-12 06:08:18
@kaushik我知道,但我有很多領域,我對這種方式不感興趣 – pradeep 2014-09-15 09:20:22