Make preview screens in font/display size settings scrollable

Bug: 27274145
Change-Id: Ib93ff8faa9b14181b9b4f596a8b48cd0804f8f82
This commit is contained in:
Noah Wang
2016-02-23 17:26:13 -08:00
parent 8870706614
commit abf6312b8d
5 changed files with 287 additions and 276 deletions

View File

@@ -14,35 +14,47 @@
limitations under the License. limitations under the License.
--> -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingTop="16dp" android:fillViewport="true" >
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:orientation="vertical">
<TextView <view class="com.android.settings.TouchBlockingFrameLayout"
android:id="@+id/frame"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:text="@string/font_size_preview_text_headline"
android:textAppearance="@android:style/TextAppearance.Material.Headline"/>
<TextView <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:text="@string/font_size_preview_text_title" android:paddingTop="16dp"
android:textAppearance="@android:style/TextAppearance.Material.Title"/> android:paddingStart="16dp"
android:paddingEnd="16dp"
android:orientation="vertical">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/font_size_preview_text_subtitle" android:text="@string/font_size_preview_text_headline"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"/> android:textAppearance="@android:style/TextAppearance.Material.Headline"/>
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/font_size_preview_text_body" android:text="@string/font_size_preview_text_title"
android:textAppearance="@android:style/TextAppearance.Material.Body1"/> android:textAppearance="@android:style/TextAppearance.Material.Title"/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/font_size_preview_text_subtitle"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/font_size_preview_text_body"
android:textAppearance="@android:style/TextAppearance.Material.Body1"/>
</LinearLayout>
</view>
</ScrollView>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2016 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.
-->
<view xmlns:android="http://schemas.android.com/apk/res/android"
class="com.android.settings.TouchBlockingFrameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" />

View File

@@ -13,56 +13,66 @@
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/conversation_background" android:fillViewport="true" >
android:paddingTop="@dimen/conversation_message_list_padding"
android:paddingStart="@dimen/conversation_message_list_padding"
android:paddingEnd="@dimen/conversation_message_list_padding"
android:orientation="vertical"
android:importantForAccessibility="noHideDescendants">
<com.android.settings.display.ConversationMessageView <view class="com.android.settings.TouchBlockingFrameLayout"
android:id="@+id/frame"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
app:incoming="false"
app:messageText="@string/screen_zoom_conversation_message_1"
app:timestampText="@string/screen_zoom_conversation_timestamp_1"
app:iconText="@string/screen_zoom_conversation_icon_alex"
app:iconTextColor="@color/message_icon_text_outgoing"
app:iconBackgroundColor="@color/message_icon_background_outgoing" />
<com.android.settings.display.ConversationMessageView <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
app:incoming="true" android:background="@color/conversation_background"
app:messageText="@string/screen_zoom_conversation_message_2" android:paddingTop="@dimen/conversation_message_list_padding"
app:timestampText="@string/screen_zoom_conversation_timestamp_2" android:paddingStart="@dimen/conversation_message_list_padding"
app:iconText="@string/screen_zoom_conversation_icon_pete" android:paddingEnd="@dimen/conversation_message_list_padding"
app:iconTextColor="@color/message_icon_text_incoming" android:orientation="vertical"
app:iconBackgroundColor="@color/message_icon_background_incoming" /> android:importantForAccessibility="noHideDescendants">
<com.android.settings.display.ConversationMessageView <com.android.settings.display.ConversationMessageView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:incoming="false" app:incoming="false"
app:messageText="@string/screen_zoom_conversation_message_3" app:messageText="@string/screen_zoom_conversation_message_1"
app:timestampText="@string/screen_zoom_conversation_timestamp_3" app:timestampText="@string/screen_zoom_conversation_timestamp_1"
app:iconText="@string/screen_zoom_conversation_icon_alex" app:iconText="@string/screen_zoom_conversation_icon_alex"
app:iconTextColor="@color/message_icon_text_outgoing" app:iconTextColor="@color/message_icon_text_outgoing"
app:iconBackgroundColor="@color/message_icon_background_outgoing" /> app:iconBackgroundColor="@color/message_icon_background_outgoing" />
<com.android.settings.display.ConversationMessageView <com.android.settings.display.ConversationMessageView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:incoming="true" app:incoming="true"
app:messageText="@string/screen_zoom_conversation_message_4" app:messageText="@string/screen_zoom_conversation_message_2"
app:timestampText="@string/screen_zoom_conversation_timestamp_4" app:timestampText="@string/screen_zoom_conversation_timestamp_2"
app:iconText="@string/screen_zoom_conversation_icon_pete" app:iconText="@string/screen_zoom_conversation_icon_pete"
app:iconTextColor="@color/message_icon_text_incoming" app:iconTextColor="@color/message_icon_text_incoming"
app:iconBackgroundColor="@color/message_icon_background_incoming" /> app:iconBackgroundColor="@color/message_icon_background_incoming" />
</LinearLayout> <com.android.settings.display.ConversationMessageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:incoming="false"
app:messageText="@string/screen_zoom_conversation_message_3"
app:timestampText="@string/screen_zoom_conversation_timestamp_3"
app:iconText="@string/screen_zoom_conversation_icon_alex"
app:iconTextColor="@color/message_icon_text_outgoing"
app:iconBackgroundColor="@color/message_icon_background_outgoing" />
<com.android.settings.display.ConversationMessageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:incoming="true"
app:messageText="@string/screen_zoom_conversation_message_4"
app:timestampText="@string/screen_zoom_conversation_timestamp_4"
app:iconText="@string/screen_zoom_conversation_icon_pete"
app:iconTextColor="@color/message_icon_text_incoming"
app:iconBackgroundColor="@color/message_icon_background_incoming" />
</LinearLayout>
</view>
</ScrollView>

View File

@@ -17,204 +17,210 @@
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:scrollbars="none" android:fillViewport="true"
android:background="?android:attr/colorBackgroundFloating" android:background="?android:attr/colorBackgroundFloating"
android:importantForAccessibility="noHideDescendants"> android:importantForAccessibility="noHideDescendants">
<LinearLayout <view class="com.android.settings.TouchBlockingFrameLayout"
android:id="@+id/frame"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:orientation="vertical">
<!-- Wifi Setting -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="16dp" android:orientation="vertical">
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/wifi_signal_dark"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<!-- Wifi Setting -->
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:paddingTop="16dp"
android:orientation="vertical" android:paddingStart="8dp"
android:paddingStart="16dp"> android:orientation="horizontal">
<TextView <ImageView
android:layout_width="wrap_content" android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/wifi_signal_dark"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/wifi_settings" android:layout_weight="1"
android:textAppearance="@android:style/TextAppearance.Material.Subhead" android:orientation="vertical"
android:textColor="?android:attr/textColorPrimary" /> android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/wifi_settings"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/wifi_display_status_not_available"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout>
<!-- Data usage Setting -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_settings_data_usage"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/wifi_display_status_not_available" android:layout_weight="1"
android:textAppearance="@android:style/TextAppearance.Material.Body1" android:orientation="vertical"
android:textColor="?android:attr/textColorSecondary" /> android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/data_usage_summary_title"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_data_usage"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout>
<!-- Display Setting -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_settings_display"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/display_settings_title"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/display_summary_on"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout>
<!-- Sound & Notification Setting -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_settings_sound"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sound_settings"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sound_settings_example_summary"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout>
<!-- Apps Setting -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_settings_applications"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/applications_settings"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/apps_summary_example"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</view>
<!-- Data usage Setting -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_settings_data_usage"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/data_usage_summary_title"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_data_usage"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout>
<!-- Display Setting -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_settings_display"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/display_settings_title"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/display_summary_on"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout>
<!-- Sound & Notification Setting -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_settings_sound"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sound_settings"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sound_settings_example_summary"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout>
<!-- Apps Setting -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingStart="8dp"
android:orientation="horizontal">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_settings_applications"
android:tint="?android:attr/colorAccent"
android:scaleType="center" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingStart="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/applications_settings"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/apps_summary_example"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView> </ScrollView>

View File

@@ -25,6 +25,8 @@ import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator; import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator; import android.view.animation.Interpolator;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ScrollView;
/** /**
* A PagerAdapter used by PreviewSeekBarPreferenceFragment that for showing multiple preview screen * A PagerAdapter used by PreviewSeekBarPreferenceFragment that for showing multiple preview screen
@@ -32,7 +34,7 @@ import android.widget.FrameLayout;
*/ */
public class PreviewPagerAdapter extends PagerAdapter { public class PreviewPagerAdapter extends PagerAdapter {
private TouchBlockingFrameLayout[] mPreviewFrames; private FrameLayout[] mPreviewFrames;
/** Duration to use when cross-fading between previews. */ /** Duration to use when cross-fading between previews. */
private static final long CROSS_FADE_DURATION_MS = 400; private static final long CROSS_FADE_DURATION_MS = 400;
@@ -45,11 +47,13 @@ public class PreviewPagerAdapter extends PagerAdapter {
public PreviewPagerAdapter(Context context, int[] previewSampleResIds, public PreviewPagerAdapter(Context context, int[] previewSampleResIds,
Configuration[] configurations) { Configuration[] configurations) {
mPreviewFrames = new TouchBlockingFrameLayout[previewSampleResIds.length]; mPreviewFrames = new FrameLayout[previewSampleResIds.length];
for (int i = 0; i < previewSampleResIds.length; ++i) { for (int i = 0; i < previewSampleResIds.length; ++i) {
mPreviewFrames[i] = (TouchBlockingFrameLayout) LayoutInflater.from(context) mPreviewFrames[i] = new FrameLayout(context);
.inflate(R.layout.preview_frame_container, null); mPreviewFrames[i].setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
mPreviewFrames[i].setContentDescription( mPreviewFrames[i].setContentDescription(
context.getString(R.string.preview_page_indicator_content_description, i + 1, context.getString(R.string.preview_page_indicator_content_description, i + 1,
previewSampleResIds.length)); previewSampleResIds.length));
@@ -65,7 +69,6 @@ public class PreviewPagerAdapter extends PagerAdapter {
mPreviewFrames[i], false); mPreviewFrames[i], false);
sampleView.setAlpha(0); sampleView.setAlpha(0);
sampleView.setVisibility(View.INVISIBLE); sampleView.setVisibility(View.INVISIBLE);
mPreviewFrames[i].addView(sampleView); mPreviewFrames[i].addView(sampleView);
} }
} }