從Android SDK複製SlidingDrawer代碼並將其導入到我的項目中時,我得到了一個IAE。Android:直接導入SlidingDrawer源代碼後收到IllegalArgumentException
java.lang.IllegalArgumentException:handle屬性是必需的,並且必須引用有效的子級。
這是我的佈局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MySlidingDrawer"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="test only"
android:textSize="20dp" />
<com.mytest.view.SlidingDrawer
android:id="@+id/SlidingDrawer"
android:layout_width="wrap_content"
android:layout_height="250dip"
android:layout_alignParentBottom="true"
android:content="@+id/contentLayout"
android:handle="@+id/slideButton"
android:orientation="vertical"
android:topOffset="100.5dp"
android:padding="10dip" >
<Button
android:id="@id/slideButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="UP" >
</Button>
<LinearLayout
android:id="@id/contentLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dip" >
<Button
android:id="@+id/Button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:text="Button01" >
</Button>
</LinearLayout>
</com.mytest.view.SlidingDrawer>
</RelativeLayout>
這是我的attrs:
<declare-styleable name="SlidingDrawer">
<attr name = "orientation" format="integer"/>
<attr name = "bottomOffset" format = "dimension"/>
<attr name = "topOffset" format = "dimension"/>
<attr name = "allowSingleTap" format = "boolean"/>
<attr name = "animateOnClick" format = "boolean"/>
<attr name = "handle" format = "reference"/>
<attr name = "content" format = "reference"/>
</declare-styleable>
我有android:handle =「@ + id/slideButton」它引用下面的按鈕,它不是做這項工作嗎? – user2342139
我的錯誤。我編輯了我的答案 – Karakuri