Как кнопки диалогового окна стиля темы Android Holo
Я создаю диалоговое окно на тему Holo и хочу следовать способу отображения кнопок по умолчанию для ОС. До сих пор я создал диалоговое окно, но кнопки не отображаются так, как это делается в приложениях, выполненных в Holo для ICS. Как я могу это сделать? Мой предполагаемый внешний вид-это и я могу дотянуться до этого места
3 ответа:
немного поздно, но может кто-то еще заинтересован в этом.
это работает очень хорошо для меня.
... <!-- EDIT: be carefull, "?android:attr/dividerHorizontal" is only supported since API 11 just avoid it in prior OSs. --> <View android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/dividerHorizontal" /> <LinearLayout style="?android:attr/buttonBarStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="0dip" android:paddingLeft="2dip" android:paddingRight="2dip" android:measureWithLargestChild="true"> <Button android:id="@+id/cancel" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="@android:string/cancel"/> <Button android:id="@+id/ok" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="@android:string/ok"/> </LinearLayout> ...
действие, которое загружает этот макет, нуждается в голограмме.Тема диалога.
android:theme="@android:style/Theme.Holo.Dialog"
вот что работает:
<LinearLayout android:id="@+id/buttonHolder" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/cmdSignup" style="@android:style/Widget.Holo.Light.Button.Borderless.Small" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/Signup" /> <Button android:id="@+id/cmdLogin" style="@android:style/Widget.Holo.Light.Button.Borderless.Small" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/Login" /> </LinearLayout>
свойства
style="@android:style/Widget.Holo.Light.Button.Borderless.Small"
дает плоский взгляд и чувствовать, и 50% распределение веса из-за сочетания 100$ размерLinearLayout
byandroid:layout_width="match_parent" and
для Android:layout_weight="1"для кнопок
вы можете установить тему через XML Манифеста Android или внутри onCreate действия с
setTheme(android.R.style.Theme_Holo);
размер кнопок не связан с самой темой. Размер зависит от ваших определений xml. В изображении, которое вы отправили, кажется, что кнопки получили тему Holo, поэтому здесь нет ничего плохого...
вот XML-макет, который растянет кнопки, чтобы заполнить всю ширину диалога:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" > <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5dip" > <Button android:id="@+id/okButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="OK" /> <Button android:id="@+id/cancelButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Cancel" /> </LinearLayout> </LinearLayout>