我有我有數據填充一個ListView,我試圖讓我的佈局,看起來像這樣:Android的 - 對齊TextViews就像一個錶行
有沒有一種辦法使用線性或相對佈局創建此?我嘗試過使用TableRows,並且它工作的同時,它爲左邊從右邊分開的列留下了一個空白,並且它根本沒有吸引力。
不太確定從哪裏開始....任何幫助非常感謝。
我有我有數據填充一個ListView,我試圖讓我的佈局,看起來像這樣:Android的 - 對齊TextViews就像一個錶行
有沒有一種辦法使用線性或相對佈局創建此?我嘗試過使用TableRows,並且它工作的同時,它爲左邊從右邊分開的列留下了一個空白,並且它根本沒有吸引力。
不太確定從哪裏開始....任何幫助非常感謝。
我創建了一個佈局與首創2行:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="right"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Issue Number:"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Date Received:"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_toRightOf="@+id/linearLayout1"
android:gravity="left"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6,046"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="09/02/2008"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</RelativeLayout>
實際上,您可以通過在單個父LinearLayout中放置一個2 LinearLayout來實現此目的。父母android:orientation
應該是水平的。對於每一行你需要使用這種技術。
我確實在我的項目中使用了這種方法。
我正在寫一行樣本。請參考。
<LinearLayout
android:id="@+id/line1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:text="Issue Number"
android:layout_weight="1.0"
android:layout_height="wrap_content"
android:layout_width="0px"
android:gravity="right"/>
<TextView
android:text="6046"
android:layout_weight="1.0"
android:layout_height="wrap_content"
android:layout_width="0px"
android:gravity="left"/>
</LinearLayout>
您需要爲所有行編寫此代碼,然後將其放在垂直方向的父LinearLayout下。
這個答案是pro可以說是最好的,唯一我要補充的是,你可以指定左邊的textview的權重爲1.0,右邊的權重爲3.0。這將達到上面的預期結果。 – Munib 2017-07-19 23:07:12
您可以提供一個xml來格式化ListView中的每一行,從而每行都是一個帶有兩個TextView的簡單水平LinearLayout。
於是沿着相同的路線的東西,因爲這:
http://www.heikkitoivonen.net/blog/2009/02/15/multicolumn-listview-in-android/
更詳細的文章對付列表視圖:
這不是一個好的答案,因爲它沒有考慮到第二列textviews可能有多行的位置。 – Munib 2017-07-19 22:46:51