所以这是一个Android Studio问题。该示例将在设备上运行,但如果我尝试在Android Studio中查看我的活动的设计预览,则不会显示该示例。 我创建了一个round_button.xml并将其用于activity_layout.xml
中的按钮只要按钮的宽度与高度不同,就会显示预览。如果是这种情况,预览窗口甚至不会显示设备,而只显示灰色背景。 如果我将按钮的高度更改为49dp或51dp,一切正常。
正如我所说,该应用程序仍然可以运行,并会在设备上显示我完美的圆形按钮,但有趣的是Android Studio预览版。
有没有人知道为什么会这样,有没有办法解决它?
round_button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="oval">
<solid android:color="@color/light_grey"/>
</shape>
</item>
<item android:state_focused="true" >
<shape android:shape="oval">
<solid android:color="@color/light_grey"/>
</shape>
</item>
<item>
<shape android:shape="oval">
<solid android:color="@color/grey"/>
</shape>
</item>
</selector>
activity_layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@color/dark_grey">
<LinearLayout android:id="@+id/buttonLayout"
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true">
<Button
android:clickable="true"
android:layout_width="50dp"
android:layout_height="50dp"
android:text="1"
android:onClick="doThings"
android:id="@+id/button1"
android:background="@drawable/round_button"/>
</LinearLayout>
</RelativeLayout>