让我用例子解释......考虑'android.R.layout.simple_list_item_multiple_choice'。它用于创建多选列表。但我找到的唯一定义是:
/platform/frameworks/base/core/res/res/values/public.xml:
<public type="layout" name="simple_list_item_multiple_choice" id="0x01090010" />
/platform/frameworks/base/api/current.xml:
<field name="simple_list_item_multiple_choice"
type="int"
transient="false"
volatile="false"
value="17367056"
static="true"
final="true"
deprecated="not deprecated"
visibility="public"
>
但实际布局在哪里定义?创建多选列表时,我会看到复选框,它来自哪里?
答案 0 :(得分:2)
查看$ANDROID_HOME/platforms/$YOUR_PLATFORM/data/res/layout/simple_list_item_multiple_choice.xml
,其中$ANDROID_HOME
是您安装SDK的地方,$YOUR_PLATFORM
是您感兴趣的平台版本(例如android-2.1
)。
例如,对于Android 2.1,布局为:
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:paddingLeft="6dip"
android:paddingRight="6dip"
/>