如何将TextView放在ImageButton的中心?

时间:2014-02-19 01:50:49

标签: android

说我有一个ImageButton。我想在图像按钮的顶部有一个textview,并以它为中心。我该怎么做?

3 个答案:

答案 0 :(得分:1)

你可以通过将两个小部件包装在FrameLayout

中来实现

例如:

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/image" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/text"
        android:layout_gravity="center" />
</FrameLayout>

答案 1 :(得分:0)

您的布局过于复杂。只需在按钮上添加文字即可。

myImageButton.setText("text");

如果您确实想要对这些视图进行分层,则应使用RelativeLayout:

<RealtiveLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageButton 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/img"/>           
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name" 
        android:layout_centerInParent="true"/>
</RelativeLayout>

特别注意属性layout_centerInParent。这就是TextView正确居中的方式。

答案 2 :(得分:0)

使用常规按钮,无论如何都会扩展TextView。然后将背景设置为图像,并使用setText()设置文本。您甚至可以在上方,下方和/或左侧和/或左侧添加图标。文本右侧有drawableLeft,drawableTop等属性。