Java 自定义按钮/编辑框是否不可见?
我在查看我的应用程序时遇到此错误。 “布局编辑器中的图形预览可能不准确:Java 自定义按钮/编辑框是否不可见?,java,android,android-studio,android-view,Java,Android,Android Studio,Android View,我在查看我的应用程序时遇到此错误。 “布局编辑器中的图形预览可能不准确: 不支持Path.isConvex。(忽略此会话) 请参见错误图片: 下面是activity_main.xml中的小部件 <ImageButton android:id="@+id/ImageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_a
不支持Path.isConvex。(忽略此会话) 请参见错误图片: 下面是activity_main.xml中的小部件
<ImageButton
android:id="@+id/ImageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/RoomEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp"
android:background="@drawable/button_go"
android:minHeight="40dp"
android:minWidth="256dp" />
<EditText
android:id="@+id/RoomEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/ImageButton1"
android:layout_below="@+id/imageView1"
android:layout_marginTop="80dp"
android:background="@drawable/editbox_round"
android:ems="10"
android:gravity="center_vertical|center_horizontal"
android:inputType="text"
android:maxLength="15"
android:minHeight="32dp"
android:minWidth="256dp" />
这是可提取的:
按钮_go.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="90"
android:endColor="#cc1a22"
android:startColor="#550200" />
<corners
android:bottomLeftRadius="15dp"
android:bottomRightRadius="15dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp" >
</corners>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#ffffff" />
<stroke
android:width="1dp"
android:color="#000000"
/>
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp"
/>
</shape>
editbox\u round.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="90"
android:endColor="#cc1a22"
android:startColor="#550200" />
<corners
android:bottomLeftRadius="15dp"
android:bottomRightRadius="15dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp" >
</corners>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#ffffff" />
<stroke
android:width="1dp"
android:color="#000000"
/>
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp"
/>
</shape>
我不太清楚他们为什么会隐形出现。如果有人愿意告诉我这里到底发生了什么?我不太确定,但有时预览并不准确,可能无法获得。尝试在实际设备或模拟器上运行,以查看它是否可见。您会得到“Path.isConvex不受支持”错误,因为您会分别获得每个角的半径值。你必须使用
<corners android:radius="10dip" />
而不是
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp"
/>