Android布局_background适合它的内容

时间:2014-03-19 15:01:02

标签: android android-layout textview

我正在尝试设计自定义对话框。 我遇到的问题是... textview的背景,只要文本得到更多的线条,对话框的主体就不会改变。 wrap_content没有工作......

PS(有部分,标题,内容,按钮)  (标题和内容是两个TextView,两个图像作为背景)

一行很好

enter image description here

但是当线条增加时......他们被吃掉了!!

enter image description here

如果我使用wrap_content ......那就太大了! https://www.dropbox.com/s/in78b8gg0hfkfxh/toobig.png

这是xml的代码 `

android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
>

<LinearLayout
    android:id="@+id/dialog"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"       
    android:paddingTop="120dip" 
  >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dip"
        android:orientation="vertical"
         >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/title"
            android:text="Title"
            style="@style/TitleStyle"
            android:gravity="bottom|center_horizontal"
            android:paddingBottom="15dip"
            />

    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="89dip"
        android:background="@drawable/content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="L\na\ny\no\nu\nt\n"
            android:gravity="center"
            style="@style/TextStyle"
            android:paddingRight="20dip"
            android:paddingLeft="20dip"             
            android:paddingTop="10dip"

              />
    </LinearLayout>

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

        android:gravity="center"
        android:padding="0dip"
        android:paddingTop="0dip" >

        <Button
            android:id="@+id/dialog_button_cancel"
            android:layout_width="0dip"
            android:layout_height="51dip"
            android:layout_weight="0.50"
            style="@style/BtnStyle"
            android:background="@drawable/btn_action"
            android:src="@drawable/btn"
            android:text="取消"             

            android:gravity="center"
             />

        <Button
            android:id="@+id/dialog_button_ok"
            android:layout_width="0dip"
            android:layout_height="51dip"
            android:layout_weight="0.50"
            android:background="@drawable/btn_action"
            android:src="@drawable/btn"
            android:layout_marginLeft="10dip"  
            style="@style/BtnStyle"       
            android:text="確定"
             android:gravity="center"
              />
    </LinearLayout> 



</LinearLayout>

`

1 个答案:

答案 0 :(得分:0)

对于第二个(内容)TextView包装器(LinearLayout),尝试使用 wrap_content 而不是固定布局高度 89dip

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/content"
        android:orientation="vertical" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="L\na\ny\no\nu\nt\n"
        android:gravity="center"
        style="@style/TextStyle"
        android:paddingRight="20dip"
        android:paddingLeft="20dip"             
        android:paddingTop="10dip"

          />
</LinearLayout>

编辑:如果问题出现在图片中(通过图片恕我直言,你的意思是包含标题和内容视图的白色矩形)尝试在XML背景中设置矩形而不是图像用法你暂时使用:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape">
    <stroke android:width="2dp" android:color="#ffffff" />
    <padding android:left="2dp"
        android:top="2dp"
        android:right="2dp"
        android:bottom="2dp" />
    <corners android:radius="5dp" />
    <solid android:color="#8000000" /> <!-- transparent -->
</shape>

详细信息:Can I draw rectangle in XML?