自定义xml文件的功能未在activity\ u main.xml中实现

x8goxv8g  于 2021-06-29  发布在  Java
关注(0)|答案(3)|浏览(332)

我是android开发的新手,我创建了一个名为“round\u btn\u bg.xml”的xml文件,其中我只是设置了我的按钮的样式,但当我在activity\u main.xml中使用此xml文件时,按钮的功能不会加载到应用程序中。。。
这是“round\u btn\u bg.xml”的代码

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

    <solid android:color="@color/colorAccent"/>
    <corners android:radius="60dp"/>
</shape>

下面是“activity\u main.xml”的代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorBlack"
    android:id="@+id/mainActivity_RL"
    tools:context=".MainActivity">
<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/mainActivity_BackgroundIV"
    android:src="@drawable/backgroundconnecteach"
    android:scaleType="centerCrop"
    android:alpha=".6"/>

    <ImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/mainActivity_logoIV"
        android:src="@drawable/logo"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true"
        android:layout_marginTop="160dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/mainActivity_TagLineTV"
        android:text="@string/get_started_tag_line"
        android:textColor="@color/colorWhite"
        android:textStyle="bold"
        android:layout_centerInParent="true"
        android:layout_below="@id/mainActivity_logoIV"/>

    <Button
        style="@drawable/round_btn_bg"
        android:id="@+id/mainActivity_MoveBtn"
        android:layout_width="168dp"
        android:layout_height="40dp"
        android:layout_below="@id/mainActivity_TagLineTV"
        android:layout_centerInParent="true"
        android:layout_marginTop="8dp"
        android:background="@drawable/round_btn_bg"
        android:text="@string/get_started_btn" />

</RelativeLayout>
55ooxyrt

55ooxyrt1#

<Button
        android:id="@+id/mainActivity_MoveBtn"
        android:layout_width="168dp"
        android:layout_height="40dp"
        android:layout_below="@id/mainActivity_TagLineTV"
        android:layout_centerInParent="true"
        android:layout_marginTop="8dp"
        android:background="@drawable/round_btn_bg"
        android:text="@string/get_started_btn" />

更换 Button 用这个编码。我想会有用的

643ylb08

643ylb082#

在已声明的按钮中,不能将样式设置为可绘制资源。它必须指向styles.xml中定义的样式。你把它设为背景是正确的。
从xml中的按钮中删除以下行

style="@drawable/round_btn_bg"
mf98qq94

mf98qq943#

对此使用背景属性。。首先创建您的设计在可绘制的文件这样

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
    <shape android:shape="oval">
        <solid android:color="#800013"/>
        <corners android:radius="5dp"/>
    </shape>
</item>

<item>
    <shape android:shape="oval">
        <solid android:color="#AA3B18"/>
        <corners android:radius="5dp"/>
    </shape>
</item>

然后将其添加为任何类似按钮的小部件的背景

background="@drawable/round_btn_bg"

相关问题