说我有一个ImageButton。我想在图像按钮的顶部有一个textview,并以它为中心。我该怎么做?
答案 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等属性。