android嵌套线性布局大小调整
我正在尝试为我的可扩展listview实现以下布局 问题: 在android previewer上,布局与预期一致: 请参阅下面附件中的第一张图片 但是,当我在模拟器或设备上运行它时,不会显示第二个TextView 请参阅下面附件中的第二张图片 我必须设置第二个ImageView(ivGroupIndicator)的高度以匹配父级,以便显示第二个TextView。但这会拉伸可展开箭头图标 请参阅下面附件中的最后一张图片 这是我的layout.xmlandroid嵌套线性布局大小调整,android,android-layout,Android,Android Layout,我正在尝试为我的可扩展listview实现以下布局 问题: 在android previewer上,布局与预期一致: 请参阅下面附件中的第一张图片 但是,当我在模拟器或设备上运行它时,不会显示第二个TextView 请参阅下面附件中的第二张图片 我必须设置第二个ImageView(ivGroupIndicator)的高度以匹配父级,以便显示第二个TextView。但这会拉伸可展开箭头图标 请参阅下面附件中的最后一张图片 这是我的layout.xml <?xml version="1.0
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<ImageView
android:layout_width="25dp"
android:layout_height="match_parent"
android:src="@drawable/ci_hand_cursor"
android:layout_gravity="center" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="5dp"
android:paddingTop="5dp"
android:layout_weight="0.8">
<TextView
android:id="@+id/route_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Dhelhi Belhi"
android:fontFamily="sans-serif"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="@color/colorPrimaryText"
android:paddingBottom="2dp"/>
<TextView
android:id="@+id/route_schedule_date"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="20-September-2017"
android:fontFamily="sans-serif"
android:textSize="14sp"
android:textColor="@color/colorSecondaryText"
android:paddingBottom="5dp"/>
</LinearLayout>
<ImageView
android:id="@+id/ivGroupIndicator"
android:layout_width="25dp"
android:layout_height="match_parent"
android:background="@drawable/group_indicator"
android:layout_gravity="center"/>
</LinearLayout>
我在这里遗漏了什么?这应该可以解决问题:
- 使用砝码时,使用
作为高度/宽度0dp
- 权重只能是1(而不是0.8)
- 在两个文本视图上使用相等的权重,以便它们共享相等的垂直空间
- 在文本视图中将重力设置为“垂直居中”,使文本居中
- 在图像上设置缩放类型,使其不会拉伸
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <ImageView android:layout_width="25dp" android:layout_height="match_parent" android:layout_gravity="center" android:scaleType="centerInside" android:src="@drawable/ci_hand_cursor" /> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:paddingLeft="5dp" android:paddingTop="5dp"> <TextView android:id="@+id/route_name" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:fontFamily="sans-serif" android:gravity="center_vertical" android:text="Dhelhi Belhi" android:textColor="@color/colorPrimaryText" android:textSize="16sp" android:textStyle="bold" /> <TextView android:id="@+id/route_schedule_date" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:fontFamily="sans-serif" android:gravity="center_vertical" android:text="20-September-2017" android:textColor="@color/colorSecondaryText" android:textSize="14sp" /> </LinearLayout> <ImageView android:id="@+id/ivGroupIndicator" android:layout_width="25dp" android:layout_height="match_parent" android:layout_gravity="center" android:background="@drawable/group_indicator" android:scaleType="centerInside" /> </LinearLayout>
- 使用砝码时,使用
作为高度/宽度0dp
- 权重只能是1(而不是0.8)
- 在两个文本视图上使用相等的权重,以便它们共享相等的垂直空间
- 在文本视图中将重力设置为“垂直居中”,使文本居中
- 在图像上设置缩放类型,使其不会拉伸
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <ImageView android:layout_width="25dp" android:layout_height="match_parent" android:layout_gravity="center" android:scaleType="centerInside" android:src="@drawable/ci_hand_cursor" /> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:paddingLeft="5dp" android:paddingTop="5dp"> <TextView android:id="@+id/route_name" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:fontFamily="sans-serif" android:gravity="center_vertical" android:text="Dhelhi Belhi" android:textColor="@color/colorPrimaryText" android:textSize="16sp" android:textStyle="bold" /> <TextView android:id="@+id/route_schedule_date" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:fontFamily="sans-serif" android:gravity="center_vertical" android:text="20-September-2017" android:textColor="@color/colorSecondaryText" android:textSize="14sp" /> </LinearLayout> <ImageView android:id="@+id/ivGroupIndicator" android:layout_width="25dp" android:layout_height="match_parent" android:layout_gravity="center" android:background="@drawable/group_indicator" android:scaleType="centerInside" /> </LinearLayout>
- 这应该可以做到:
- 问题可能是您将父布局的高度设置为50dp。尝试将其设置为包裹内容,并对垂直
线性布局使用高度=0dp
和重量=1
,问题可能是您将父布局的高度设置为50dp。尝试将其设置为包裹内容,并对垂直线性布局使用height=0dp
和weight=1
。问题可能是您将父布局的高度设置为50dp。试着把它包装起来。你能附上第二张图片吗?缺少。问题可能是您将父布局的高度设置为50dp。试着把它包装起来。你能附上第二张图片吗?它不见了。嗨,谢谢你的回复。这就是我现在所得到的:中间的布局被挤了起来,只是把最高的LinearLayout的高度提高到比 50dP更高的东西。可能80dp
?修复:)我更改了第二个LinearLayout的高度,以包装来自match\u父级的内容,这就成功了。谢谢你的回复。这就是我现在所得到的:中间的布局被挤了起来,只是把最高的LinearLayout的高度提高到比 50dP更高的东西。可能80dp
?修复:)我更改了第二个LinearLayout的高度,以包装来自match\u父级的内容,这就成功了。谢谢