Android Wrap TextView到ImageButton的宽度

时间:2010-12-01 05:24:54

标签: android android-layout

我有一个包含ImageButton的LinearLayout,在其下面是TextView作为标签。我想让TextView居中,并将它包装到它下面的ImageButton的宽度。

编辑:我应该把我正在使用的代码放进去。这是带有Button和TextView的LinearLayout

        <LinearLayout
        android:id="@+id/contestLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <ImageButton
            android:id="@+id/contestButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/contestsbtnimg"
            android:layout_weight="1">
        </ImageButton>
        <TextView
            android:id="@+id/contestLabel"
            style="@style/MainMenuStyle"
            android:text="@string/contests">
        </TextView>
    </LinearLayout>

这是TextView的相关样式声明:

<style name="MainMenuStyle" parent="android:style/TextAppearance">

  <item name="android:textColor">#000000</item>

  <item name="android:layout_centerHorizontal">true</item>
  <item name="android:textSize">12sp</item>
  <item name="android:singleLine">false</item>
  <item name="android:layout_width">wrap_content</item>
  <item name="android:layout_height">wrap_content</item>
</style>

我想要的是ImageButton位于LinearLayout之上,TextView充当下面的标签,如果它比按钮宽,则将文本包装到第二行。

1 个答案:

答案 0 :(得分:1)

你至少应该尝试自己找一个解决方案。

或者解释为什么(以及什么)你自己的发现。

这样的事情可以解决问题:

<LinearLayout android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="vertical"
        >
    <ImageButton android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:background="..."/>
    <TextView android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_gravity="center_horizontal"
              android:text="...."/>

</LinearLayout>