我正在尝试样式化按钮,使其看起来像我在Android Full Width ICS style Minimalist Bottom ButtonsViews中所询问的那些按钮。
对于任何感兴趣的人,我已经成功地使用以下xml实现了这个效果:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:divider="@android:drawable/divider_horizontal_dark"
android:gravity="bottom"
android:orientation="vertical"
android:paddingTop="16dip"
android:showDividers="beginning|end" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:measureWithLargestChild="true"
android:orientation="horizontal"
android:divider="@android:drawable/divider_horizontal_dark"
android:showDividers="middle" >
<Button
android:id="@+id/cancel_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:maxLines="2"
android:text="@string/cancel_button" />
<Button
android:id="@+id/login_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
android:filterTouchesWhenObscured="true"
android:maxLines="2"
android:text="@string/login_button" />
</LinearLayout>
</LinearLayout>
不过我有一个问题。Eclipse的内容辅助工具似乎不知道以下资源解析的情况:
style="?android:attr/buttonBarButtonStyle"
我熟悉典型的解析方式(Eclipse的内容辅助工具也清楚),如下所示:
style=@android/style/...
...但我不明白两者之间的区别。似乎某些样式属性只出现在其中一个中。例如,以下内容无法解析为任何内容:
style=@android:attr/buttonBarStyle
这个也是一样:
style="@android:style/buttonBarStyle
所以这里有两个问题:
- 为什么资源引用语法不同?
- 为什么将样式混淆分类到“attr”类别下?
- “attr”类别到底有什么用途?
谢谢!