膨胀类Button的错误
代码如下:
activity_main
<?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"
tools:context=".MainActivity"
android:orientation="vertical"
android:background="@color/colorPrimaryDark">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:layout_marginTop="100dp">
<Button
android:layout_width="300dp"
android:layout_height="50dp"
android:padding="15dp"
android:fontFamily="@font/nunito_semibold"
android:background="@drawable/border_white"
android:text="Donor"
android:textStyle="bold"
android:textColor="#ffffff"
android:textSize="16dp"
android:id="@+id/donor"
/>
<Button
android:layout_width="300dp"
android:layout_height="50dp"
android:padding="15dp"
android:fontFamily="@font/nunito_semibold"
android:background="@drawable/border_white"
android:layout_marginBottom="20dp"
android:text="Recipient"
android:textStyle="bold"
android:textColor="#ffffff"
android:textSize="16dp"
android:id="@+id/recipient"
/>
</LinearLayout>
</RelativeLayout>
MainActivity:
package com.example.ankit.bloodbank;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button mDonor,mRecipient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDonor =(Button)findViewById(R.id.donor);
mRecipient = (Button)findViewById(R.id.recipient);
mDonor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,RegisterActivity.class);
startActivity(intent);
}
});
mRecipient.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,RecipientActivity.class);
startActivity(intent);
}
});
}
}
边界:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:radius="30dp"/>
<stroke android:color="#ffffff" android:width="1dp"/>
</shape>
</item>
<item android:state_pressed="true">
<shape>
<solid android:color="@color/colorPrimaryDark"/>
</shape>
</item>
</selector>
请帮助修复它。 MainActivity的setContentView中显示错误。 并且此错误显示在项目的每个活动中。我只是尝试首先启动另一个活动,它显示了完全相同的错误,即setContentView中的错误。
答案 0 :(得分:0)
在border_white.xml
文件夹中找到res/drawable
,并检查结尾处是否有类似(v24)
的内容。
如果是这种情况,请复制此文件并将其粘贴到res/drawable
而不是res/drawable-v24
答案 1 :(得分:0)
<selector>
中的drawable/border_white.xml
节点缺少必需的属性android:layout_height
和android:layout_width
,这使其无效。添加缺少的属性,它应该会膨胀。它们很可能都应该是match_parent
(或wrap_content
)。
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
答案 2 :(得分:0)
我不明白您为什么在Linear RelativeLayout中使用LinearLayout,而在Orientation:Vertical中使用。您必须使用SP进行文本测量,并且正在使用DP。另外,您必须使用@String进入res文件夹,并使用@Color和@dimen。 从未使用xmlns:app =“ http://schemas.android.com/apk/res-auto”库。 您确定您的字体具有粗体样式吗?为什么要使用android:state_pressed =“ true” ?,当您按下按钮时会自动启动新活动。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity"
android:background="@color/colorPrimaryDark">
<Button
android:layout_width="@dimen/button_width"
android:layout_height="@dimen/button_height"
android:padding="@dimen/button_padding"
android:text="@string/donor"
android:fontFamily="@font/nunito_semibold"
android:background="@drawable/border_white"
android:textStyle="bold"
android:textColor="@android:color/white"
android:textSize="16sp"
android:id="@+id/donor"
/>
<Button
android:layout_width="@dimen/button_width"
android:layout_height="@dimen/button_height"
android:padding="@dimen/button_padding"
android:layout_marginBottom="@dimen/button_margin"
android:text="@string/recipient"
android:fontFamily="@font/nunito_semibold"
android:background="@drawable/border_white"
android:textStyle="bold"
android:textColor="@android:color/white"
android:textSize="16sp"
android:id="@+id/recipient"
/>
</LinearLayout>