如何在 Android 中使按钮的背景透明并带有可见边框?
How to make a background of a button transparent with visible border in Android?
这是按钮的编码。我只想让边框可见,按钮的背景应该是 invisible.But 使用此代码,一切都变得不可见。
<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="60dp"
android:text="Sign In"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:textColor="@color/white"
android:background="@android:color/transparent"
我希望我的按钮看起来像这样。
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_bg"/>
button_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="2dp" />
<stroke
android:width="2px"
android:color="@color/your_border_color" />
</shape>
使用drawable,创建shape.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="1000dp" /> //your radius
<stroke android:width="3px" android:color="#FFF" /> //your stroke size
</shape>
然后在xml
中实现
<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="60dp"
android:text="Sign In"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:textColor="@color/white"
android:background="@drawable/shape" />
你应该把你的按钮放在像这样的矩形内:
在可绘制目录中创建butoon_backgound.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFFFF"
android:endColor="#00FF00"
android:angle="270" />
<corners android:radius="3dp" />
<stroke android:width="2px" android:color="#000000" />
</shape>
<RelativeLayout
android:id="@+id/container"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/butoon_backgound"
>
<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="200dp"
android:text="Sign In"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:textColor="@color/white"
android:background="@android:color/transparent"
</RelativeLayout>
stroke 属性是边框的笔划
在您的可绘制文件夹中创建一个 button_border.xml 文件并粘贴此代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="3dp"
android:color="#FFFFFF" />
将按钮添加到 xml 布局并将背景设置为
<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="60dp"
style="?android:attr/buttonStyleSmall"
android:text="Sign In"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:layout_marginLeft="50dp"
android:textColor="@color/white"
android:background="@drawable/button_border"/>
这是按钮的编码。我只想让边框可见,按钮的背景应该是 invisible.But 使用此代码,一切都变得不可见。
<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="60dp"
android:text="Sign In"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:textColor="@color/white"
android:background="@android:color/transparent"
我希望我的按钮看起来像这样。
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_bg"/>
button_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="2dp" />
<stroke
android:width="2px"
android:color="@color/your_border_color" />
</shape>
使用drawable,创建shape.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="1000dp" /> //your radius
<stroke android:width="3px" android:color="#FFF" /> //your stroke size
</shape>
然后在xml
中实现<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="60dp"
android:text="Sign In"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:textColor="@color/white"
android:background="@drawable/shape" />
你应该把你的按钮放在像这样的矩形内:
在可绘制目录中创建butoon_backgound.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFFFF"
android:endColor="#00FF00"
android:angle="270" />
<corners android:radius="3dp" />
<stroke android:width="2px" android:color="#000000" />
</shape>
<RelativeLayout
android:id="@+id/container"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/butoon_backgound"
>
<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="200dp"
android:text="Sign In"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:textColor="@color/white"
android:background="@android:color/transparent"
</RelativeLayout>
stroke 属性是边框的笔划
在您的可绘制文件夹中创建一个 button_border.xml 文件并粘贴此代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="3dp"
android:color="#FFFFFF" />
将按钮添加到 xml 布局并将背景设置为
<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="60dp"
style="?android:attr/buttonStyleSmall"
android:text="Sign In"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginTop="50dp"
android:layout_marginLeft="50dp"
android:textColor="@color/white"
android:background="@drawable/button_border"/>