Как сделать пользовательскую кнопку с XML файлами? - PullRequest
0 голосов
/ 22 марта 2020

Так как я следил за видео из "Coding in Flow", я сделал все (ссылка: https://www.youtube.com/watch?v=Z1w3y0saKjY)

И, конечно, мне нравится добавлять пользовательские кнопки в мою игру , Но проблема в том, что представление все еще показывает стандартную кнопку или даже не любит меня (это даже не будет отображаться при предварительном просмотре). А у моего ноутбука не так много свободного места, тогда я не могу работать на устройстве AVD. И я сделаю первые тесты на моем 25% завершении разработки.

Тем не менее, ничего. Это код (все 5 кодов, включая стили. xml):

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

    <gradient
        android:angle="0"
        android:endColor="#2D0D0D"
        android:startColor="#7E0707" />

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

    <stroke
        android:width="2dp"
        android:color="#4E2828" />

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

</shape>

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

    <gradient
        android:angle="0"
        android:endColor="#543838"
        android:startColor="#CA7676" />

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

    <stroke
        android:width="2dp"
        android:color="#4E2828" />

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

</shape>

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

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

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

    <stroke
        android:width="2dp"
        android:color="#191919" />

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

</shape>

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

    <item android:drawable="@drawable/button_pressed" android:state_pressed="true" />
    <item android:state_enabled="false" android:drawable="@drawable/button_disabled" />
    <item android:drawable="@drawable/button_default" />

</selector>

<!--styles.xml-->
<resources>

    <style name="AppTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">
        <item name="android:colorPrimary">@color/colorPrimary</item>
        <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="android:colorAccent">@color/colorAccent</item>
        <item name="android:colorControlHighlight">@color/colorControlHighlight</item>
        <item name="android:colorControlNormal">@color/colorControlNormal</item>
        <item name="buttonStyle">@style/CustomButton</item>
    </style>

    <style name="FullScreen" parent="@android:style/Theme.Material.Light.NoActionBar.Fullscreen">
        <item name="android:colorPrimary">@color/colorPrimary</item>
        <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="android:colorAccent">@color/colorAccent</item>
        <item name="android:colorControlHighlight">@color/colorControlHighlight</item>
        <item name="android:colorControlNormal">@color/colorControlNormal</item>
        <item name="buttonStyle">@style/CustomButton</item>
    </style>

    <style name="NoActionBar" parent="@android:style/Theme.Material.Light.NoActionBar">
        <item name="android:colorPrimary">@color/colorPrimary</item>
        <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="android:colorAccent">@color/colorAccent</item>
        <item name="android:colorControlHighlight">@color/colorControlHighlight</item>
        <item name="android:colorControlNormal">@color/colorControlNormal</item>
        <item name="buttonStyle">@style/CustomButton</item>
    </style>

    <style name="NoStatusBar" parent="AppTheme">
        <item name="android:windowFullscreen">true</item>
        <item name="buttonStyle">@style/CustomButton</item>
    </style>

    <style name="CustomButton" parent="Widget.AppCompat.Button">
        <item name="android:background">@drawable/custom_button</item>
        <item name="android:textColor">#FFF</item>
    </style>

</resources>

Надеюсь на любой ответ. Это может быть случай "AndroidX".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...