围绕布局元素的Wrap_Content而不是bg

时间:2014-10-22 09:53:08

标签: android android-linearlayout

我正在设计一个常规的android LinearLayout,它由一系列元素组成,我将布局参数设置为wrap_content并使其包围 bg 元素根据哪一个更大,那么,如何分配布局以便它包裹它的元素(bg / elements)是什么?

代表

<LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/overlay">

        <TextView 
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

</LinearLayout>

我希望它包裹name无论它更大还是overlay更大。

示例图片:

  • 分配给布局的大背景:

enter image description here

  • 我试图达到的目的:

enter image description here

4 个答案:

答案 0 :(得分:1)

您可以替换

<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/overlay">

    <TextView 
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView 
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/overlay" />

</LinearLayout>

因此背景仅适用于TextView。无论如何,LinearLayout的宽度为wrap_content,所以没关系。

答案 1 :(得分:1)

这是做...的想法。

Content-Type

主线是...... <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#000000"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/textView" android:background="#ffffff" android:layout_margin="3dp" /> </LinearLayout> ,可以让你从所有方面获得余量。 如果它值得给你正确答案。

答案 2 :(得分:1)

试试这个。

<item name="textColorSecondary">@android:color/secondary_text_dark</item>

答案 3 :(得分:0)

试试这个

<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:background="#C3C3C3">

    <TextView 
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>