Android 使用重量自动调整和调整宽度项目
问题: 我必须显示多行。 每行都有一个内部权重:描述有一个特定的权重、价格等等 在下面的图片中,您可以看到两种截图。第一行完美地显示了每一行 第二,有些价格不合适 图片1: 图片2: 这是我的行:Android 使用重量自动调整和调整宽度项目,android,android-layout,Android,Android Layout,问题: 我必须显示多行。 每行都有一个内部权重:描述有一个特定的权重、价格等等 在下面的图片中,您可以看到两种截图。第一行完美地显示了每一行 第二,有些价格不合适 图片1: 图片2: 这是我的行: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="ma
<?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="wrap_content"
android:layout_marginBottom="8dp"
android:background="@color/blanco"
android:orientation="horizontal"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:weightSum="1">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_weight="0.7"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:gravity="left|center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/txtDescription"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:fontFamily="sans-serif-light"
android:gravity="center_vertical"
android:textColor="@color/blue"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:gravity="left|center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/txtDate"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:fontFamily="sans-serif-light"
android:gravity="center_vertical"
android:paddingRight="15dp"
android:textColor="@color/blue"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="left|center_vertical"
android:layout_weight="0.3"
android:gravity="right|center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center_vertical"
android:gravity="center_vertical|right"
android:maxHeight="24dp"
android:maxWidth="24dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:fontFamily="sans-serif-light"
android:gravity="center_vertical|right"
android:text="$"
android:textColor="@color/blue"
android:textSize="14sp" />
<TextView
android:id="@+id/txtPrice"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
android:fontFamily="sans-serif-light"
android:gravity="center_vertical|right"
android:textColor="@color/blue"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
我需要什么:
有没有可能自动调整价格
- 可能会更改文本的大小
- 可以自动改变重量
?解决此类问题的最佳实践是什么?更改大小我真的不喜欢,因为会有一个大小的文本和另一个大小的文本我看到第一个线性是用相同的数据固定的,第二个是造成问题的,使用权重的方式有点错误,您需要将第二条直线的宽度设置为
wrap_content
,无权重,并将第一条直线的宽度设置为0dp
,权重等于1,这样您的布局将采用第二条直线的宽度,其余将由第一条直线标记。如果我有三条直线而不是两条?哪一个我需要放重量,哪一个我必须放包装内容?还有,像你说的那样使用重量有什么区别,然后将每个线性布局设置为包裹内容,将一个设置为左重力,另一个设置为右重力?你可以做出很多选择我只是回答你的问题,关于你使用重量的方式,你需要寻找其他你自己的答案。如果您使用3条直线,您可以将权重设置为1,以获取not标记空格。如果您可以发布单独的问题,而不是将问题合并为一个问题,则最好使用此选项。这样,它可以帮助人们回答你的问题,也可以帮助其他人寻找至少一个你的问题。此外,“最佳实践是什么”的问题是基于意见的,因此会吸引固执己见的答案。