首页 文章

如何使按钮的角落圆? [关闭]

提问于
浏览
364

我想成为一个回合的角落 . 有没有一种简单的方法可以在Android中实现这一目标?

10 回答

  • 7

    如果你想要这样的东西

    Button preview

    这是代码 .

    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.现在使用此drawable作为视图的背景 . 如果视图是按钮,那么这样的事情:

    <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" />
    
  • 23

    在drawable文件夹中创建一个xml文件,如下所示

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle" android:padding="10dp">
        <!-- you can use any color you want I used here gray color-->
        <solid android:color="#ABABAB"/> 
        <corners android:radius="10dp"/>
    </shape>
    

    将此作为背景应用于您想要使角落变圆的按钮 .

    或者您可以为下面的每个角使用单独的半径

    android:bottomRightRadius="10dp"
    android:bottomLeftRadius="10dp"
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp"
    
  • 575

    在drawable文件夹中创建shape.xml

    像shape.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
      <stroke android:width="2dp"
        android:color="#FFFFFF"/>
      <gradient 
        android:angle="225"
        android:startColor="#DD2ECCFA"
        android:endColor="#DD000000"/>
    <corners
        android:bottomLeftRadius="7dp"
        android:bottomRightRadius="7dp"
        android:topLeftRadius="7dp"
       android:topRightRadius="7dp" />
    </shape>
    

    并在myactivity.xml中

    您可以使用

    <Button
        android:id="@+id/btn_Shap"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:text="@string/Shape"
        android:background="@drawable/shape"/>
    
  • 10

    这很简单 . 创建一个类似于下面的XML文件 . 将其设置为按钮的背景 . 如果您需要更多按钮曲线,请将radius属性更改为您的愿望 .

    button_background.xml

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <solid android:color="@color/primary" />
        <corners android:radius="5dp" />
    </shape>
    

    Set background to your button:

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_background"/>
    
  • 11

    我发现的简单方法是在drawable文件夹中创建一个新的xml文件,然后将按钮背景指向该xml文件 . 继承我使用的代码:

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    
    <solid android:color="#ff8100"/>
    <corners android:radius="5dp"/>
    
    </shape>
    
  • 302

    在Drawable文件夹中创建rounded_btn.xml文件...

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
         <solid android:color="@color/#FFFFFF"/>    
    
         <stroke android:width="1dp"
            android:color="@color/#000000"
            />
    
         <padding android:left="1dp"
             android:top="1dp"
             android:right="1dp"
             android:bottom="1dp"
             /> 
    
         <corners android:bottomRightRadius="5dip" android:bottomLeftRadius="5dip" 
             android:topLeftRadius="5dip" android:topRightRadius="5dip"/> 
      </shape>
    

    并使用this.xml文件作为按钮背景

    <Button
    android:id="@+id/btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/rounded_btn"
    android:text="Test" />
    
  • 3

    创建文件myButton.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="@color/colorButton"/>
        <corners android:radius="10dp"/>
    </shape>
    

    添加到您的按钮

    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/myButton"/>
    
  • 17

    此链接包含您需要的所有信息 . Here

    Shape.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <shape      xmlns:android="http://schemas.android.com/apk/res/android"
                android:shape="rectangle">
    
        <solid   android:color="#EAEAEA"/>
    
        <corners    android:bottomLeftRadius="8dip"
                    android:topRightRadius="8dip"
                    android:topLeftRadius="1dip"
                    android:bottomRightRadius="1dip"
                    />
    </shape>
    

    和main.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent">
    
        <TextView   android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Hello Android from NetBeans"/>
    
        <Button android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Nishant Nair"
                android:padding="5dip"
                android:layout_gravity="center"
                android:background="@drawable/button_shape"
                />
    </LinearLayout>
    

    这应该会给你你想要的结果 .

    祝你好运

  • 4

    如果您使用矢量drawable,那么您只需在drawable定义中指定<corners>元素 . 我在blog post中报道了这一点 .

    如果您使用的是bitmap / 9-patch drawables,那么您需要在位图图像中创建具有透明度的角 .

  • 6

    带图标的样式按钮
    enter image description here

    <Button
            android:id="@+id/buttonVisaProgress"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            android:background="@drawable/shape"
            android:onClick="visaProgress"
            android:drawableTop="@drawable/ic_1468863158_double_loop"
            android:padding="10dp"
            android:text="Visa Progress"
            android:textColor="@android:color/white" />
    

    shape.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="14dp" />
    <gradient
        android:angle="45"
        android:centerColor="#1FA8D1"
        android:centerX="35%"
        android:endColor="#060d96"
        android:startColor="#0e7e1d"
        android:type="linear" />
    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />
    <size
        android:width="270dp"
        android:height="60dp" />
    <stroke
        android:width="3dp"
        android:color="#000000" />
    

相关问题