新代码的XML代码不起作用

时间:2018-05-06 21:53:54

标签: java android xml android-studio mobile-application

我正在尝试为我的Android应用程序创建一个新按钮。

我在drawable文件夹中创建了一个新的XML文件,其中包含以下代码:

 `<?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android" 
   android:shape="rectangle" >
   <corners
   android:radius="12dp"
    />
  <solid
    android:color="#00000000"
    />
  <padding
    android:left="0dp"
    android:top="0dp"
    android:right="0dp"
    android:bottom="0dp"
    />
 <size
    android:width="270dp"
    android:height="60dp"
    />
<stroke
    android:width="3dp"
    android:color="#FFFFFF"
    />
 </shape>

然后我尝试使用以下代码调用它:

<Button
 android:id="@+id/newBtton"

 android:text="Get Started"
 android:textColor="#FFFFFF"
 android:textSize="30sp"

 android:layout_width="270dp"
 android:layout_height="60dp"
 android:background="@drawable/buttonshape"
 />

然而,这不起作用。 即使在我的XML文件的预览中,它只是给我一个空白的图像

当我尝试验证XML文件时,出现以下错误: 错误:(2,94)cvc-elt.1.a:找不到元素'shape'的声明。 错误:(1,56)s4s-elt-schema-ns:元素“x”的名称空间必须来自模式名称空间“http://www.w3.org/2001/XMLSchema”。 错误:(1,56)s4s-elt-invalid:元素'x'不是架构文档中的有效元素。 错误:(1,56)schema_reference.4:无法读取架构文档'null',因为1)找不到文档; 2)文件无法阅读; 3)文档的根元素不是。

我只是想知道如何解决这个错误或我做错了什么?

我也在android studio工作

3 个答案:

答案 0 :(得分:2)

使用此示例

<?xml version="1.0" encoding="utf-8"?>                                 
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<corners
    android:bottomRightRadius="10dp"
    android:radius="40dp" />

<gradient
    android:angle="45"
    android:centerX="float"
    android:centerY="float"
    android:endColor="#01f1fa"
    android:gradientRadius="integer"
    android:startColor="#0189ff"
    android:type="linear" />

<!--If your shape requires only one solid color-->
<!--<solid
    android:color="#FFFFFF" />-->

<size
    android:width="82dp"
    android:height="82dp" />

<!--Use android:dashWidth="2dp" and android:dashGap="2dp"
to add dashes to your stroke-->
<stroke
    android:width="2dp"
    android:color="#FFFFFF" />

<!--If you want to add padding-->
<!-- <padding
     android:left="10dp"
     android:top="20dp"
     android:right="40dp"
     android:bottom="8dp" />-->

答案 1 :(得分:1)

尝试我的按钮样式,让我知道是否显示:

<?xml version="1.0" encoding="UTF-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke 
        android:width="1dp" 
        android:color="#505050"/>
    <corners 
        android:radius="7dp" />

    <padding 
        android:left="1dp"
        android:right="1dp"
        android:top="1dp"
        android:bottom="1dp"/>

    <solid android:color="#505050"/>

</shape>

答案 2 :(得分:1)

**Note : Try this code work for you. in solid tag you can change what color 
        you want.**

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

<solid android:color="@color/transparent_gray" />

 <stroke
    android:width="1dp"
    android:color="#D2D2D2" />

<corners android:radius="15dp" />

<padding
    android:bottom="5dp"
    android:left="5dp"
    android:right="5dp"
    android:top="5dp" />

</shape>