【发布时间】:2015-04-22 13:52:04
【问题描述】:
我在片段的容器中动态注入行。 但我似乎无法让三个图像按钮向右对齐,彼此相邻。
谁有想法?
片段布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scenesScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/switchLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/scenesTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/switch_title"
android:text="@string/title_switches" />
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="vertical">
</LinearLayout>
<TextView
android:id="@+id/statusText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"/>
</LinearLayout>
</ScrollView>
我的行布局:
<?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="wrap_content"
android:paddingBottom="10dp">
<TextView
android:id="@+id/switch_name"
android:layout_alignParentTop="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/switch_row_name"
android:text="Switch name"/>
<TextView
android:id="@+id/switch_lastSeen"
android:layout_below="@id/switch_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/switch_row_lastSeen"
android:text="@string/last_seen"/>
<TextView
android:id="@+id/switch_status"
android:layout_below="@id/switch_lastSeen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/switch_row_level"
android:text="@string/status"/>
<ImageButton
android:id="@+id/switch_button_up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow_up"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true" />
<ImageButton
android:id="@+id/switch_button_stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_stop"
android:layout_toLeftOf="@+id/switch_button_down"
android:layout_toStartOf="@+id/switch_button_down"
android:layout_centerVertical="true" />
<ImageButton
android:id="@+id/switch_button_down"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow_down"
android:layout_toLeftOf="@+id/switch_button_up"
android:layout_toStartOf="@+id/switch_button_up"
android:layout_centerVertical="true" />
</RelativeLayout>
该行在我的手机上的外观(在 API 19 AVD 上相同):
Android Studio 在设计时如何显示该行:
【问题讨论】:
-
尝试摆脱 android:layout_toStartOf。您也可以将这三个按钮放在另一个水平线性布局中,并使其对齐。但另一方面,任何有行的东西都应该使用 ListView 你不应该手动注入行
-
谢谢,在行内添加一个 LinearLayout 就可以了。已经尝试不使用 layout_toStartOf 但这就是我第 15 次尝试解决该问题时 Android Studio 的 GUI 所做的。还将研究自定义 ListView 适配器!
标签: android xml android-relativelayout android-imagebutton