Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用重量自动调整和调整宽度项目_Android_Android Layout - Fatal编程技术网

Android 使用重量自动调整和调整宽度项目

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

问题:

我必须显示多行。 每行都有一个内部权重:描述有一个特定的权重、价格等等

在下面的图片中,您可以看到两种截图。第一行完美地显示了每一行

第二,有些价格不合适

图片1:

图片2:

这是我的行:

<?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标记空格。如果您可以发布单独的问题,而不是将问题合并为一个问题,则最好使用此选项。这样,它可以帮助人们回答你的问题,也可以帮助其他人寻找至少一个你的问题。此外,“最佳实践是什么”的问题是基于意见的,因此会吸引固执己见的答案。