如何根据文本长度包装图像高度

时间:2013-10-04 11:06:56

标签: android xml image

我在Android中制作了一个测验应用程序,并使用此布局显示问题和答案,

<LinearLayout android:layout_height="wrap_content" 
              android:layout_width="fill_parent"
              android:background="@drawable/ans_tab"  //This is the Image for both question and answer
              android:orientation="vertical"  >

<TextView android:layout_height="wrap_content" 
          android:layout_width="wrap_content" 
          android:id="@+id/ques1" 
          android:layout_marginTop="25dp"
          android:layout_marginLeft="15dp"
          android:layout_marginRight="15dp"
          android:layout_marginBottom="10dp"
          android:text="@string/ques1"/>

<RadioGroup android:orientation="vertical" 
            android:layout_height="wrap_content" 
            android:layout_width="match_parent" 
            android:id="@+id/quesoptn"
            android:layout_marginBottom="8dp" >

<RadioButton android:layout_height="wrap_content" 
             android:layout_width="fill_parent" 
             android:id="@+id/ques1_1" 
             android:checked="false" 
             android:layout_marginLeft="5dp"/>

<RadioButton android:layout_height="wrap_content" 
             android:layout_width="fill_parent" 
             android:id="@+id/ques1_2"
             android:checked="false" 
             android:layout_marginLeft="5dp"/>

<RadioButton android:layout_height="wrap_content" 
             android:layout_width="fill_parent" 
             android:id="@+id/ques1_3"
             android:checked="false" 
             android:layout_marginLeft="5dp"/>

<RadioButton android:layout_height="wrap_content" 
             android:layout_width="fill_parent" 
             android:id="@+id/ques1_4"
             android:checked="false"
             android:layout_marginLeft="5dp"/>

</RadioGroup> 

</LinearLayout>

我随机地从我的数据库中提取问题和答案,这里我的问题是当从数据库中获取的某些时间问题的长度很短时,Image就没有根据它进行包装。当问题很短并且图像高度比问题答案部分长时,它看起来很尴尬。当问题长度很长时它看起来不错。

所以,我的问题是如何在问题长度很短的情况下包装图像高度?

这是问题大小很短时的样子,

enter image description here

当问题长度很长时,它看起来没问题,

enter image description here

所以,请问我如何在问题长度很短时包装图像。我不认为可以通过xml来完成。那么,有没有办法在Android中以编程方式进行呢?

3 个答案:

答案 0 :(得分:2)

提供背景图片,以xml

形成一个形状

以下是ans_tab.xml示例:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient
        android:angle="90"
        android:endColor="#FF8800"
        android:startColor="#FFBB33" />

    <corners android:radius="30dp" />

</shape>

将此信息放入res / drawable / ans_tab.xml并删除原始图像文件。

结果应如下所示:

enter image description here

答案 1 :(得分:2)

你试过9补丁图片吗?您可以在背景上设置9个补丁图像而不是正常图像,以便它可以根据您的帖子进行调整。您是否尝试过android:layout_width =“wrap_content”??

答案 2 :(得分:0)

  

使用9个补丁图像,它将根据您的内容自动展开