如何使用XML样式在Android中创build自定义button

我想通过使用XML样式来制作这种button[相同的背景和文本]颜色

在这里输入图像说明

这只是一个例子,我想写一些其他的文字,如: 关于我

我仍然使用由Photoshop中的devise师创build的button

<ImageButton android:id="@+id/imageButton5" android:contentDescription="AboutUs" android:layout_width="wrap_content" android:layout_marginTop="8dp" android:layout_height="wrap_content" android:layout_below="@+id/view_pager" android:layout_centerHorizontal="true" android:background="@drawable/aboutus" /> 

注意:我需要这种button的大小和形状

我不想在我的Android应用程序中使用任何图像,我只想使用XML

你有没有试图创build任何button的背景形状?

查看下面的内容:

以下是您button图像的分离图像。

在这里输入图像说明

现在,把它放在你的ImageButton中:android:src“source”就像这样:

 android:src="@drawable/twitter" 

现在,只需创buildImageButton的形状,即可拥有黑色着色器背景。

 android:background="@drawable/button_shape" 

而button_shape是drawable资源中的xml文件:

  <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#505050"/> <corners android:radius="7dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> <solid android:color="#505050"/> </shape> 

试着用这个来实现它。 您可能需要根据您的要求更改颜色值。

让我知道如果它不起作用。

复制粘贴从“AdriánSantalla”在androidcookbook.com写的食谱: https ://www.androidcookbook.com/Recipe.seam ? recipeId = 3307

1.创build一个代表button状态的XML文件

创build一个名为“button.xml”的可绘制的xml来命名button状态:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:drawable="@drawable/button_disabled" /> <item android:state_pressed="true" android:state_enabled="true" android:drawable="@drawable/button_pressed" /> <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/button_focused" /> <item android:state_enabled="true" android:drawable="@drawable/button_enabled" /> </selector> 

看看风格的button,它一定会帮助你。 有很多例子请在INTERNET上search。

例如:风格

 <style name="Widget.Button" parent="android:Widget"> <item name="android:background">@drawable/red_dot</item> </style> 

你可以使用你的select器而不是red_dot

红点:

 <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <solid android:color="#f00"/> <size android:width="55dip" android:height="55dip"/> </shape> 

button:

 <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="49dp" style="@style/Widget.Button" android:text="Button" /> 
 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#ffffffff"/> <size android:width="@dimen/shape_circle_width" android:height="@dimen/shape_circle_height"/> </shape> 

把这个添加到你的drawable中

2.设置为您的button的背景