Move the leanback alert dialog buttons to the left.

Bug: 179343577
Bug: 156105237
Test: manual
Change-Id: Ide1763780806deb881db758b64e66db08f0f1054
This commit is contained in:
Jacqueline Bronger
2021-02-04 14:00:17 +00:00
parent adc02d350d
commit b4b1b9d2f7
4 changed files with 154 additions and 6 deletions

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/buttonPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollIndicators="top|bottom"
android:fillViewport="true"
style="?attr/buttonBarStyle">
<com.android.internal.widget.ButtonBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layoutDirection="locale"
android:orientation="horizontal"
android:gravity="start">
<Button
android:id="@+id/button1"
style="?attr/buttonBarPositiveButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button2"
style="?attr/buttonBarNegativeButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Space
android:id="@+id/spacer"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"
android:visibility="invisible" />
<Button
android:id="@+id/button3"
style="?attr/buttonBarNeutralButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</com.android.internal.widget.ButtonBarLayout>
</ScrollView>

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<com.android.internal.widget.AlertDialogLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/parentPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start|top"
android:orientation="vertical">
<include layout="@layout/alert_dialog_title_material" />
<FrameLayout
android:id="@+id/contentPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp">
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Space
android:id="@+id/textSpacerNoTitle"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="@dimen/dialog_padding_top_material" />
<TextView
android:id="@+id/message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="?attr/dialogPreferredPadding"
android:paddingStart="?attr/dialogPreferredPadding"
style="@style/TextAppearance.Material.Subhead" />
<Space
android:id="@+id/textSpacerNoButtons"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="@dimen/dialog_padding_top_material" />
</LinearLayout>
</ScrollView>
</FrameLayout>
<FrameLayout
android:id="@+id/customPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp">
<FrameLayout
android:id="@+id/custom"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/alert_dialog_button_bar_leanback" />
</com.android.internal.widget.AlertDialogLayout>

View File

@@ -16,6 +16,7 @@
<resources>
<style name="AlertDialog.Leanback" parent="AlertDialog.Material">
<item name="buttonPanelSideLayout">@android:layout/alert_dialog_leanback_button_panel_side</item>
<item name="layout">@android:layout/alert_dialog_leanback</item>
</style>
<style name="AlertDialog.Leanback.Light">
@@ -35,6 +36,10 @@
<item name="android:layout_marginStart">10dp</item>
</style>
<style name="Widget.Leanback.Button.ButtonBarGravityStart" parent="Widget.Leanback.Button">
<item name="android:layout_marginEnd">10dp</item>
</style>
<style name="Widget.Leanback.ButtonBar" parent="Widget.Material.ButtonBar">
<item name="android:padding">?android:attr/dialogPreferredPadding</item>
</style>

View File

@@ -22,7 +22,7 @@
<item name="timePickerStyle">@style/Widget.Leanback.TimePicker</item>
<item name="datePickerStyle">@style/Widget.Leanback.DatePicker</item>
<item name="numberPickerStyle">@style/Widget.Leanback.NumberPicker</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBar</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBarGravityStart</item>
<item name="buttonBarStyle">@style/Widget.Leanback.ButtonBar</item>
</style>
@@ -34,7 +34,7 @@
<item name="timePickerStyle">@style/Widget.Leanback.TimePicker</item>
<item name="datePickerStyle">@style/Widget.Leanback.DatePicker</item>
<item name="numberPickerStyle">@style/Widget.Leanback.NumberPicker</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBar</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBarGravityStart</item>
<item name="buttonBarStyle">@style/Widget.Leanback.ButtonBar</item>
</style>
@@ -46,7 +46,7 @@
<item name="timePickerStyle">@style/Widget.Leanback.TimePicker</item>
<item name="datePickerStyle">@style/Widget.Leanback.DatePicker</item>
<item name="numberPickerStyle">@style/Widget.Leanback.NumberPicker</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBar</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBarGravityStart</item>
<item name="buttonBarStyle">@style/Widget.Leanback.ButtonBar</item>
</style>
@@ -58,7 +58,7 @@
<item name="timePickerStyle">@style/Widget.Leanback.TimePicker</item>
<item name="datePickerStyle">@style/Widget.Leanback.DatePicker</item>
<item name="numberPickerStyle">@style/Widget.Leanback.NumberPicker</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBar</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBarGravityStart</item>
<item name="buttonBarStyle">@style/Widget.Leanback.ButtonBar</item>
</style>
@@ -70,7 +70,7 @@
<item name="timePickerStyle">@style/Widget.Leanback.TimePicker</item>
<item name="datePickerStyle">@style/Widget.Leanback.DatePicker</item>
<item name="numberPickerStyle">@style/Widget.Leanback.NumberPicker</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBar</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBarGravityStart</item>
<item name="buttonBarStyle">@style/Widget.Leanback.ButtonBar</item>
</style>
@@ -82,7 +82,7 @@
<item name="timePickerStyle">@style/Widget.Leanback.TimePicker</item>
<item name="datePickerStyle">@style/Widget.Leanback.DatePicker</item>
<item name="numberPickerStyle">@style/Widget.Leanback.NumberPicker</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBar</item>
<item name="buttonBarButtonStyle">@style/Widget.Leanback.Button.ButtonBarGravityStart</item>
<item name="buttonBarStyle">@style/Widget.Leanback.ButtonBar</item>
</style>