当我将android:background
与Button
一起使用时,按钮的外观不会改变,但是当我将TextView
或ImageButton
与按钮一起使用时,按钮可以正常工作。该问题出现在项目中的所有布局文件中。
该如何解决?
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" />
答案 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}));