为什么我无法将按钮更改为圆形按钮?

时间:2015-11-13 08:55:07

标签: android

我在资源上创建 xml 文件 - 文件名 button_shape.xml (android studio将此文件添加到 res / values

我将此代码添加到 xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    android:shape="rectangle">
    <gradient android:startColor="#2D8CD6"
        android:endColor="#2D8CD6"
        android:angle="270"/>

    <corners android:bottomRightRadius="0dp"
        android:bottomLeftRadius="25dp"
        android:topLeftRadius="0dp"
        android:topRightRadius="25dp"/>
</shape>
</resources>

(如果我从xml中移除了&gt;我收到了错误)

现在,我将其添加到代码

<Button
        android:text="Start"
        android:layout_column="0"
        android:layout_columnWeight="1"
        android:layout_margin="10dp"
        android:background="@drawable/button_shape"
        />

但我在

上收到错误

&#34;机器人:背景=&#34; @可绘制/ button_shape&#34;&#34;

android studio不允许我将xml位置更改为&#39; drawable&#39;

  1. 我做错了什么?
  2. 如何将简单按钮更改为圆形按钮?

4 个答案:

答案 0 :(得分:2)

button_shape.xml移至可绘制文件夹

然后删除此文件的<resources></resources>

并修改此行,删除第一行末尾的>

<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    android:shape="rectangle">

我希望能帮到你

答案 1 :(得分:2)

可绘制文件夹

中添加此XMl

<强> round_button.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false">
        <shape android:shape="oval">
            <solid android:color="#ffb5a6"/>
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape android:shape="oval">
            <solid android:color="#ffeddd"/>
        </shape>
    </item>
</selector>

调用xml

  <Button
                android:id="@+id/button"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:background="@drawable/round_button"
                android:text="-"
                android:textColor="#fff"/>

答案 2 :(得分:1)

您的drawable xml文件中存在错误。取代

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    android:shape="rectangle">

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

删除结束'&gt;'从第一行开始。那就试试吧。

答案 3 :(得分:1)

以下是如何创建包含角落和效果的自定义按钮 这是代码。 首先在drawable文件夹中创建一个xml文件,例如button.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>

第二次使用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" />