Код XML для новой кнопки не работает - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь сделать новую кнопку для моего приложения для Android.

Я создал новый 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 голосов

Используйте этот образец

<?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" />-->

0 голосов
/ 07 мая 2018
**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>
0 голосов
/ 07 мая 2018

Попробуйте мой стиль кнопки и дайте мне знать, если это показывает или нет:

<?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>
...