我在显示活动之前更改了一些按钮背景颜色,当按钮显示时,它们缺少周围的空白区域。
如何让按钮变为红色,灰色的位置,并保持白色间距?
答案 0 :(得分:0)
在red_button.xml
中创建drawable
,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke android:width="2dp"
android:color="#80FFFFFF" />
<corners android:radius="25dp" />
<gradient android:angle="270"
android:centerColor="#ff0000"
android:endColor="#ff0000"
android:startColor="#ff0000" />
</shape>
获得与默认Button
您可以使用radius
和stroke width
以及stroke color
来获取所需的Button
。
编辑:您可以将颜色添加到原始默认Button
,如下所示:
Drawable d = yourButton.getBackground();
PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP); // or whatever color you like
d.setColorFilter(filter);
答案 1 :(得分:0)
您可能错过了布局的设置余量。实际上按钮周围有一个空白区域,因此触摸了所有按钮,因此当您设置背景时,白色空间也会变为红色。我想这应该没问题。!
布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Button
android:id="@+id/one"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="About"
android:layout_margin="5dp" />
<Button
android:id="@+id/two"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Gallery"
android:layout_margin="5dp"/>
<Button
android:id="@+id/third"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Media"
android:layout_margin="5dp"/>
</LinearLayout>
在strings.xml中
<color name="red">#FF0000</color>
在Java中
one = (Button) findViewById(R.id.one);
two = (Button) findViewById(R.id.two);
three = (Button) findViewById(R.id.third);
one.setBackgroundResource(R.color.red);
two.setBackgroundResource(R.color.red);
three.setBackgroundResource(R.color.red);
输出