如何将文本视图置于ImageView的顶部

时间:2013-07-19 18:12:16

标签: android android-imageview textview

我试图让某些文字显示在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>

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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

答案 2 :(得分:0)

尝试为TextView添加android:gravity =“center”并将其宽度和高度更改为Match parent

<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"/>