Стили Android: разница между 'style = “@ android: style / XYZ”' и 'style = “? Android: attr / XYZ”'?
Я пытаюсь стилизовать кнопки, чтобы они выглядели так, как я спрашиваю вСтиль Android ICS для полной ширины Минималистские нижние кнопкиПросмотры.
Я успешно выполнил следующий 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>
Хотя один вопрос. Помощник по содержанию затмения понятия не имеет, что происходит со следующим разрешением ресурса:
style="?android:attr/buttonBarButtonStyle"
Я знаком с типичным разрешением (о котором знает помощник по контенту затмения)
style=@android/style/...
... но мне не ясно различие между ними. Кажется, что некоторые атрибуты стиля появляются в одном, а не в другом. Например, следующее ни к чему не приводит:
style=@android:attr/buttonBarStyle
и не делает этого:
style="@android:style/buttonBarStyle
Итак, я думаю, два вопроса здесь:
Why the difference in resource referencing syntax? Why the confusing miscategorization of styles in under an attr category. What is the attr category even used for again?Спасибо!