我正在开发我的第一个应用程序在android中,我坚持我的xml布局。我的布局中有4个textviews,textview下面有2个图像按钮。 Textview需要放在另一个之下,大小不同,即第1和第2文本视图为1行,第3文本视图最多可以为3-4行,第4文本视图为2行。需要将2个按钮放在第4个文本视图下方,但彼此相邻。下面是我的布局文件: -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/name"
android:text="LocAlert"
android:textStyle="italic"
android:layout_gravity="center_horizontal"
android:layout_weight="0.07"
android:textColor="@android:color/holo_blue_dark"
android:layout_marginTop="37dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/task_name"
android:textStyle="bold"
android:text="name"
android:textColor="@android:color/tab_indicator_text"
android:layout_gravity="center_horizontal"
android:layout_below="@+id/name"
android:layout_centerHorizontal="true"
android:layout_marginTop="39dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/tab_indicator_text"
android:text="location"
android:layout_gravity="center_horizontal"
android:id="@+id/task_location"
android:gravity="center"
android:layout_marginTop="42dp"
android:layout_below="@+id/task_name"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="distance"
android:textColor="@android:color/tab_indicator_text"
android:layout_gravity="center_horizontal"
android:id="@+id/task_distance"
android:layout_marginBottom="56dp"
android:layout_above="@+id/imageButton"
android:layout_centerHorizontal="true"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:src="@drawable/speakblue"
android:background="#FFFFFF"
android:text="Speak Out"
android:layout_marginBottom="55dp"
android:layout_alignParentBottom="true"
android:layout_toStartOf="@+id/task_name" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton2"
android:background="#FFFFFF"
android:src="@drawable/okblue"
android:layout_below="@+id/task_distance"
android:layout_alignParentEnd="true" />
我面临的问题是第3和第4版textview和图像按钮。由于我的第3个文本视图大小根据线条增加和减少我的第4个textview和按钮也混乱..不适合相同格式的其他正确..当我在具有大屏幕尺寸的设备上运行我的应用程序时textview的很多差距..如何让我的布局适合所有的屏幕尺寸和适当的空间..请帮助..
被修改
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/name"
android:text="LocAlert"
android:textStyle="italic"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:textColor="@android:color/holo_blue_dark"
android:layout_marginTop="37dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/task_name"
android:textStyle="bold"
android:text="name"
android:textColor="@android:color/tab_indicator_text"
android:layout_gravity="center_horizontal"
android:layout_below="@+id/name"
android:layout_centerHorizontal="true"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/tab_indicator_text"
android:text="location"
android:layout_gravity="center_horizontal"
android:id="@+id/task_location"
android:gravity="center"
android:layout_weight="1"
android:layout_below="@+id/task_name"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="distance"
android:textColor="@android:color/tab_indicator_text"
android:layout_gravity="center_horizontal"
android:id="@+id/task_distance"
android:layout_below="@+id/task_location"
android:layout_weight="1"
android:layout_centerHorizontal="true"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/task_distance">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:src="@drawable/speakblue"
android:background="#FFFFFF"
android:text="Speak Out"
android:layout_weight="1" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton2"
android:background="#FFFFFF"
android:src="@drawable/okblue"
android:layout_weight="1"
android:layout_gravity="right"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
答案 0 :(得分:1)
您正在使用margintop作为前三个文本视图,然后切换到剩余元素的边距底部,因此这是相对于父顶部和底部修复元素。然后留下最中间的元素来填补中间的空白。
我会使用layout_below
来提交文本视图和按钮之间的位置差异,而不是top_margin/bottom
到父元素。
我会为每个textview /按钮使用一个加权总和,总计加权总数..