Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 Linearlayout_Android Ui - Fatal编程技术网

Android 线性布局中的子宽度

Android 线性布局中的子宽度,android,android-linearlayout,android-ui,Android,Android Linearlayout,Android Ui,我有一个线性布局,我用它制作一个框来显示日期: <LinearLayout android:id="@+id/date_layout" android:background="@drawable/bg_frame" android:layout_gravity="center" android:layout_marginRight="3dp" android:layout_rowSpan="3" android:minWidth="65dp"

我有一个
线性布局
,我用它制作一个框来显示日期:

<LinearLayout android:id="@+id/date_layout"
    android:background="@drawable/bg_frame"
    android:layout_gravity="center"
    android:layout_marginRight="3dp"
    android:layout_rowSpan="3"
    android:minWidth="65dp"
    android:orientation="vertical"
>
    <TextView android:id="@+id/date"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:textColor="@android:color/holo_blue_bright"
        android:textSize="20sp"
    />
    <View
        android:background="@android:color/holo_blue_bright"
        android:layout_height="1dp"
        android:layout_width="match_parent"
    />
    <TextView android:id="@+id/day_of_week"
        android:gravity="center"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:textColor="@android:color/holo_blue_bright"
    />
</LinearLayout>

它是一个很好的小框(上面的代码中没有
视图
):

当我将
视图
放在那里时,它会将框一直延伸到屏幕上,我只想在框的宽度上画一条线,而不改变其宽度,为什么它不能像我编码的那样工作?难道android:layout\u width=“match\u parent”不应该简单地匹配包含的
线性布局的宽度吗?为什么它适用于两个
文本视图
,而不适用于
视图

LinearLayout
包含在
GridLayout


我还发现,如果我将
视图
替换为
文本视图
,但其他内容保持不变,则它可以按我所希望的方式工作,不会扩展到整个屏幕宽度。为什么文本视图的工作方式与我期望的一样,而视图的工作方式与我期望的不同?

您在线性布局上没有布局宽度或布局高度。所以它的宽度和高度是未定义的,可能默认为全屏显示。您需要将其宽度设置为包裹内容。

忘记提到
LinearLayout
包含在处理其宽度的
GridLayout
中。如果我省略了
视图
,它工作得很好,只有当我把
视图
放进去时,它才会扩展到整个屏幕宽度……啊。我的猜测是,视图有一些奇怪的问题,因为它从来没有真正打算放在一个布局中——它没有数据可以绘制,当你考虑它时,它真的应该是一个抽象类(事实上,我很惊讶它不是)。如果你只是用它来分隔视图,你最好在其中一个元素上使用填充。我只想让它显示一条水平线,而不用担心间距。谢谢你的评论。然后我会使用一个设置为xml可绘制线条的ImageView。使用通用视图确实不是正确的方法。