1

我试图让一些文本出现在ImageView. 但是使用这个 xml(如下),我看到它的文本楔入FrameLayout. 我做错了什么?

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight="1"
  >

        <ImageView
            android:id="@+id/levbut"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:scaleType="centerInside"
            android:src="@drawable/starbut"
             />

    <TextView
        android:id="@+id/tvtest"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello"
        />

</FrameLayout>
4

3 回答 3

2

您可以向 FrameLayout 添加重力,向 textView 添加 layout_gravity,或者将其更改为 RelativeLayout 并添加 centerInParent="true"。

<FrameLayout
    ...
    android:gravity="center">

或者

<FrameLayout
    ... />
    <TextView
        ...
        android:layout_gravity="center" />
</FrameLayout>

或者

<ReltiveLayout
    ...>
    <ImageView ... />
    <TextView
        ...
        android:layout_centerInParent="true" />
</RelativeLayout>
于 2013-07-19T18:17:07.643 回答
0

更改android:layout_gravity="center"为元素android:gravity="center"FrameLayout

于 2013-07-19T18:15:44.713 回答
0

试试这个为 TextView 添加 android:gravity="center" 并将其宽度和高度更改为匹配父级

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >

<ImageView
    android:id="@+id/levbut"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:scaleType="centerInside"
    android:src="@drawable/star_but" />

<TextView
    android:id="@+id/tvtest"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="Hello" 
    android:gravity="center"/>

于 2013-07-19T18:24:38.850 回答