自定义按钮/ EditBox是不可见的?

时间:2014-10-05 05:29:15

标签: 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_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" />

以下是drawables:

button_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>  

editbox_round.xml

<?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>

我不确定为什么他们出现隐形。如果有人愿意告诉我这里到底发生了什么?

2 个答案:

答案 0 :(得分:17)

你得到&#34; Path.isConvex不受支持&#34;错误,因为您分别获得每个角的半径值。你必须使用

<corners android:radius="10dip" />

而不是

<corners 
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp"
    android:bottomLeftRadius="10dp"
    android:bottomRightRadius="10dp"
/>

答案 1 :(得分:3)

我不太确定,但有时预览不太准确,可能无法使用。尝试在实际设备或模拟器上运行,看看它是否可见。