Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中创建圆角按钮_Android_Android Layout_Android Button - Fatal编程技术网

在android中创建圆角按钮

在android中创建圆角按钮,android,android-layout,android-button,Android,Android Layout,Android Button,我正在尝试创建一个按钮,看起来如上图所示。最初我的想法是创建一个9补丁,并将其设置为按钮背景。但因为这是一个普通的按钮,我想我们可以不用任何图像就画出来 按钮背景色为#0c 边框颜色为#1A1A 文本颜色为#cccc 我在SO上发现了一个类似的问题,但这产生了一个梯度- Android开发者指南对此有详细的指南: 您还可以简单地从提供的链接中删除gradient元素: <shape xmlns:android="http://schemas.android.com/apk/res/andr

我正在尝试创建一个按钮,看起来如上图所示。最初我的想法是创建一个9补丁,并将其设置为按钮背景。但因为这是一个普通的按钮,我想我们可以不用任何图像就画出来


按钮背景色为#0c 边框颜色为#1A1A 文本颜色为#cccc

我在SO上发现了一个类似的问题,但这产生了一个梯度-

Android开发者指南对此有详细的指南:

您还可以简单地从提供的链接中删除
gradient
元素:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="3dp" />
    <stroke android:width="5px" android:color="#1a1a1a" />
</shape>

//在drawable文件夹中创建bbkg.xml
bbkg.xml//按钮背景

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

normal.xml//按钮背景正常状态

  <?xml version="1.0" encoding="UTF-8"?> 
  <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"> 
  <solid android:color="#10EB0A"/>    
  <stroke android:width="3dp"
        android:color="#0FECFF" /> 
  <padding android:left="5dp"
         android:top="5dp"
         android:right="5dp"
         android:bottom="5dp"/> 
  <corners android:bottomRightRadius="7dp"
         android:bottomLeftRadius="7dp" 
         android:topLeftRadius="7dp"
         android:topRightRadius="7dp"/> 
  </shape>   

pressed.xml//按钮背景按下状态

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle"> 
<solid android:color="#FF1A47"/>    
<stroke android:width="3dp"
        android:color="#0FECFF"/>

<corners android:bottomRightRadius="7dp"
         android:bottomLeftRadius="7dp" 
         android:topLeftRadius="7dp"
         android:topRightRadius="7dp"/> 
</shape>  

如果你想要这样的东西

按钮预览

这是代码

1.在可绘制文件夹(如mybutton.xml)中创建一个xml文件,并粘贴以下标记:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
 <item android:state_pressed="true" >
     <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#5e7974" />
         <gradient android:angle="-90" android:startColor="#345953" android:endColor="#689a92"  />            
     </shape>
 </item>
<item android:state_focused="true">
     <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#5e7974" />
         <solid android:color="#58857e"/>       
     </shape>
 </item>  
<item >
    <shape android:shape="rectangle"  >
         <corners android:radius="3dip" />
         <stroke android:width="1dip" android:color="#5e7974" />
         <gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" />            
     </shape>
 </item>
</selector>

2.现在将此可绘制视图用作背景。如果视图是按钮,则如下所示:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textColor="#ffffff"
    android:background="@drawable/mybutton"
    android:text="Buttons" />

只需使用
材质按钮

       <com.google.android.material.button.MaterialButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/Widget.MaterialComponents.Button.OutlinedButton"
            android:backgroundTint="..."
            app:strokeColor="..."
            android:textColor="..."
            app:cornerRadius="xxdp"
            android:text="BUTTON"
            />


“按钮背景色为#0C0C边框颜色为#1a1a1a”--这可能是一组颜色,但您需要的不止这些。如果我们假设您希望这些颜色是正常状态,那么您在按下状态下的颜色是什么?残疾人国家?聚焦状态?除了默认的
按钮
背景处理之外,可能还有其他状态,但我还是从它们开始。谷歌有了新的框架,新的技术更好,你可以在正常和按下状态下更改按钮的边框以及按钮背景色。只需适当地使用颜色代码即可。谢谢:)添加此代码以获得坚实的背景
       <com.google.android.material.button.MaterialButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/Widget.MaterialComponents.Button.OutlinedButton"
            android:backgroundTint="..."
            app:strokeColor="..."
            android:textColor="..."
            app:cornerRadius="xxdp"
            android:text="BUTTON"
            />