Android 如何在使用weightSum和layout_weight时设置LinearLayout元素的最小宽度

Android 如何在使用weightSum和layout_weight时设置LinearLayout元素的最小宽度,android,android-linearlayout,Android,Android Linearlayout,我将LinearLayout孩子的宽度设置为布局的百分比 它在7英寸和10英寸的屏幕上显示良好,但在5英寸的屏幕上,给定的百分比产生的宽度对于文本来说太小 子项的minWidth属性将被忽略 如何设置孩子的最小宽度 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout_file_seek_bar" android:orientation

我将LinearLayout孩子的宽度设置为布局的百分比

它在7英寸和10英寸的屏幕上显示良好,但在5英寸的屏幕上,给定的百分比产生的宽度对于文本来说太小

子项的minWidth属性将被忽略

如何设置孩子的最小宽度

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_file_seek_bar"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_marginTop="10dp"
    android:weightSum="100"
    android:gravity="center_vertical">

    <TextView
        android:id="@+id/textView_file_playing_time"
        android:layout_width="0dp"
        android:layout_weight="8"
        android:minWidth="100dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#ffffff"
        android:text="00:00"
        android:layout_marginLeft="15dp"
    />

    <SeekBar
        android:id="@+id/seek_bar_source_file"
        android:layout_width="0dp"
        android:layout_weight="92"
        android:layout_height="40dp"
        android:indeterminate="false"
    />

</LinearLayout>


android:minWidth
被忽略,原因是
android:layout\u width=“0dp”
。您可以将单独的布局放入
layout normal
目录,而无需
android:layout\u weight
参数:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_file_seek_bar"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="10dp"
android:gravity="center_vertical">

<TextView
    android:id="@+id/textView_file_playing_time"
    android:layout_width="wrap_content"
    android:minWidth="100dp"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#ffffff"
    android:text="00:00"
    android:layout_marginLeft="15dp"
/>

<SeekBar
    android:id="@+id/seek_bar_source_file"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:indeterminate="false"
/>

这应该行得通

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_file_seek_bar"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_marginTop="10dp"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:weightSum="100" >

    <TextView
        android:id="@+id/textView_file_playing_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:maxWidth="100dp"
        android:text="00:00"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#000000" />
    <SeekBar
        android:id="@+id/seek_bar_source_file"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_weight="92"
        android:indeterminate="false" />
</LinearLayout>


我确实希望孩子在7英寸和10英寸屏幕的布局中占一定比例,因此android:layout_width=“0dp”。我没有一个布局正常的目录。它的用途是什么?@matdev您可以为不同的屏幕大小定义不同的布局。更多信息可以在这里找到:谢谢你给我指出那个方向@birdy。但是,我希望继续将默认宽度设置为百分比。让minWidth属性与layout_weight一起工作可以避免为不同的屏幕大小创建布局。请尝试用一些词来解释更改的内容和原因。。。