[英]Bottom of one layout in the middle of another layout vertically in android xml?
[英]Android XML Layout - Two Columns with rows and one bottom row
我正在嘗試創建一個兩行的布局,在行的底部有一行。 到目前為止,我已經實現了兩列中都有行,但是似乎無法弄清楚如何顯示底部的行。 以下是我的代碼,注釋掉了我試圖添加底部行的方式
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tracker_id"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:padding="10dp">
<!-- <ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="60dip"> -->
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:background="#ffffff">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_centerVertical="true"
android:layout_marginRight="6dip"
android:src="@drawable/ic" />
<Button
android:id="@+id/stop_button"
android:text="@string/stop"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:enabled="true" />
<Button
android:id="@+id/pause_button"
android:text="@string/pause"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:enabled="true" />
<ImageView
android:id="@+id/icon2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_centerVertical="true"
android:layout_marginRight="6dip"
android:src="@drawable/ic2" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:background="#000000">
<TextView
android:text="some text"
android:textSize="15pt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:gravity="right" />
<TextView
android:text="more text"
android:textSize="15pt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:gravity="right" />
</LinearLayout>
<!-- </ScrollView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="60dip"
android:layout_marginTop="-55dp"
>
<TextView
android:text="Bottom"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff" />
</RelativeLayout> -->
</LinearLayout>
波紋管是我想要實現的布局
--------------------- | icon text | | button text | | button text | | icon text | | | | more more text | ---------------------
您需要將所有內容都包裝在第三個帶有direction =“ vertical”的LinearLayout中,並將TextView
添加到它的底部。
在偽布局中:
<LinearLayout vertical>
<LinearLayout horizontal>
<LinearLayout vertical>
... column 1 ...
</LinearLayout>
<LinearLayout vertical>
... column 2 ...
</LinearLayout>
</LinearLayout>
<TextView/>
</LinearLayout>
這是因為您希望TextView
垂直位於列下方 。
嘗試這個:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tracker_id"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp">
<!-- <ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="60dip"> -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Education/Health"
android:textColor="#FE9A2E"/>
<TextView
android:id="@+id/tot_val"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="$60"
android:textColor="#FE9A2E"
android:layout_marginLeft="5dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Frequency"
android:textColor="#000"
android:layout_marginLeft="5dp"/>
<TextView
android:id="@+id/freq_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Monthly"
android:textColor="#FE9A2E"
android:layout_marginRight="5dp"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Amount"
android:textColor="#000"
android:layout_marginLeft="5dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/amount_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="$20"
android:textColor="#FE9A2E"
android:layout_marginRight="5dp"/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Quarterly Amount"
android:textColor="#000"
android:layout_marginLeft="5dp"/>
<TextView
android:id="@+id/quarter_edit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="$60"
android:textColor="#FE9A2E"
android:gravity="center"
android:layout_weight="1"/>
<TextView
android:id="@+id/quarter_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="$60"
android:textColor="#FE9A2E"
android:layout_marginRight="5dp"
/>
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
<!-- <LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:background="#ffffff">
<Button
android:id="@+id/stop_button"
android:text="stop"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:enabled="true" />
<Button
android:id="@+id/pause_button"
android:text="pause"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:enabled="true" />
<ImageView
android:id="@+id/icon2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_centerVertical="true"
android:layout_marginRight="6dip"
android:src="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:background="#000000">
<TextView
android:text="some text"
android:textSize="15pt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:gravity="right" />
<TextView
android:text="more text"
android:textSize="15pt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:gravity="right" />
</LinearLayout> -->
<!-- </ScrollView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="60dip"
android:layout_marginTop="-55dp"
>
<TextView
android:text="Bottom"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff" />
</RelativeLayout> -->
</LinearLayout>
您是否嘗試過使用TableLayout而不是LinearLayout作為構成Grid的圖標/按鈕/文本字段。 您可以放置它,使其具有兩列,但是需要很多行。 (如果這不是靜態安排,並且您希望在添加更多內容時滾動瀏覽圖標/按鈕/文本字段,則可能需要考慮具有用戶定義的布局視圖的ListView布局...看起來像您想要的在這里有兩個,一個帶有水平放置的按鈕和文本,另一個帶有水平放置的圖標和文本)。
然后,使用TableLayout下面的水平LinearLayout進行最后一行的寬度變化,其寬度與定義的TableLayout相同(看起來像您希望它跨越所制作的兩列)?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.