我在Xamarin有Android项目。我需要做的是在Button中放置图像(绿点)内的文本。
如你所见,我正在添加绿点作为drawable。所以也许我应该制作自定义drawable,它将结合TextView和Image?
这就是现在的样子/我想要实现的目标:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/button_synchronize"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_action"
android:minHeight="60dp"
android:maxHeight="60dp"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:paddingLeft="20dp"
android:paddingRight="60dp"
android:layout_alignParentBottom="true"
android:text="Synkronisering"
android:drawableRight="@drawable/ic_green_dot"
android:drawablePadding="3dp"
android:gravity="center" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape>
<solid android:color="@color/main_orange_color" />
<stroke android:width="1dp" android:color="@color/main_grey_color" />
<corners android:radius="4dp" />
<padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
答案 0 :(得分:3)
您可以从宽度和高度都设置为FrameLayout
的{{1}}开始。然后,在底部添加wrap_content
作为视图。添加应用了适当样式的Button
。适当更改其TextView
。
如需了解更多信息,请查看:http://blog.neteril.org/blog/2013/10/10/framelayout-your-best-ui-friend/
FrameLayout的秘诀在于它如何布置其子项。虽然 通常设计为包含一个项目,它将愉快地堆叠其他项目 元素在彼此之上。因此,FrameLayout本质上是一种方式 操纵屏幕上的Z视图顺序。
答案 1 :(得分:0)
您不必使用Button
。您可以使用RelativeLayout
,LinearLayout
,FrameLayout
等任何内容及其组合。当您为他们分配OnClickListener
时,他们将充当按钮。因此,让Button
成为Layout
。