如何修复Android Studio中无法正常工作的“ android:background”?

时间:2019-07-18 06:35:27

标签: android xml

当我将android:backgroundButton一起使用时,按钮的外观不会改变,但是当我将TextViewImageButton与按钮一起使用时,按钮可以正常工作。该问题出现在项目中的所有布局文件中。

该如何解决?

activity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    //Not working
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button"/>

    /Working
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button"
        android:layout_marginLeft="100dp"/>





</RelativeLayout>

AndroidManifest.xml

        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/Theme.MaterialComponents.Light.NoActionBar">
        <activity android:name=".Activity.AddTaskActivity"></activity>
        <activity android:name=".Activity.AddActivity" />
        <activity android:name=".TutorialActivity" />
        <activity android:name=".PlanNextDayActivity" />

        <service
            android:name=".FirebaseMessages"
            android:enabled="true"
            android:exported="true" /> 
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713" />

        <activity android:name=".BuyPremiumActivity" />
        <activity
            android:name=".SelectColor"
            android:screenOrientation="sensorPortrait" />
        <activity
            android:name=".MainActivity"
            android:screenOrientation="sensorPortrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Activity.SelectIconActivity"
            android:screenOrientation="sensorPortrait" />
        <activity
            android:name=".Activity.AddReminder"
            android:screenOrientation="sensorPortrait" />


2 个答案:

答案 0 :(得分:0)

我知道我参加晚会很晚,但是我也遇到了这个问题。我无法为XML中的按钮设置字体或背景。我发现仅创建从Button扩展的自己的Button类即可解决此问题。

这不是最理想的解决方案,但它可行且足够简单

Java:

public class MyButton extends androidx.appcompat.widget.AppCompatButton {

    public MyButton(Context context) {
        super(context);
    }

    public MyButton(Context context, AttributeSet attrs) {
        super(context, attrs);
      
    }
}

XML:

<com.example.yourpackage.MyButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/mybackground"/>

答案 1 :(得分:-1)

import Amplify, { API, graphqlOperation } from "aws-amplify";
import * as mutations from './graphql/mutations';

// Mutation
const addPairToItem = {
    id: '1',
    number1: 'a',
    number2: 'b'
};

const newItem = await API.graphql(graphqlOperation(mutations.addPairToItem, {input: addPairToItem}));