在Android中的Button drawable中添加文本

时间:2014-11-05 14:46:11

标签: android xml xamarin

我在Xamarin有Android项目。我需要做的是在Button中放置图像(绿点)内的文本。

如你所见,我正在添加绿点作为drawable。所以也许我应该制作自定义drawable,它将结合TextView和Image?

这就是现在的样子/我想要实现的目标:

enter image description here

按钮XML

<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

<?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>

2 个答案:

答案 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。您可以使用RelativeLayoutLinearLayoutFrameLayout等任何内容及其组合。当您为他们分配OnClickListener时,他们将充当按钮。因此,让Button成为Layout