为什么不能为容器设置max_width?

时间:2012-10-27 10:03:07

标签: android xml android-layout css

我这里有这个XML,我想将线性布局的max_width设置为600dp或者其他东西。为什么Android不允许这样做?

编辑:问题是为什么,而不是如何。例如,为什么 Android团队会决定这样做?

       <LinearLayout
        android:id="@+id/details_type_info_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        ¿¿¿android:max_width = "600dp"???
        android:background="@color/light_grey"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/details_type_info_content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="15dp"
            android:text="@string/placeholder" />


        <TextView
            android:id="@+id/details_text_info_source"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:gravity="center"
            android:text="@string/details_source"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textStyle="italic" />

    </LinearLayout>

3 个答案:

答案 0 :(得分:1)

要回答你的问题,我想这只是来自Android团队的设计监督决定。

很高兴你找到了解决方案。另一种方法是将其粘贴在另一个具有绝对宽度设置的容器中。为什么600dp呢?如果屏幕有更大的空间,将其限制为硬值则很有可能看起来很奇怪。

答案 1 :(得分:0)

android:max_width属性没有为LinearLayout定义。你应该使用其他方式。

答案 2 :(得分:0)

为什么不使用碎片?有了它,你可以达到同样的效果,但对于我的碎片,你的代码会更优雅(See description of fragment object