Update ApiDemos control samples for Material

Adds examples for a variety of Material-only control styles including
underlined Spinner and discrete SeekBar. Groups controls into cards.

For the old-style controls, moves some run-time setup tasks into XML.

Bug: 19352193
Change-Id: Ibb1c82ac6ecaca3b93f3acfd65ef67cd9784fef4
This commit is contained in:
Alan Viverette
2016-01-07 16:41:10 -05:00
parent 889aa7a71d
commit bfd633ad65
8 changed files with 441 additions and 20 deletions

View File

@@ -2317,7 +2317,7 @@
</intent-filter>
</activity>
<activity android:name=".view.Controls5"
<activity android:name=".view.ControlsMaterialLight"
android:label="Views/Controls/5. Material Light Theme"
android:theme="@android:style/Theme.Material.Light"
android:enabled="@bool/atLeastLRelease">
@@ -2327,7 +2327,7 @@
</intent-filter>
</activity>
<activity android:name=".view.Controls6"
<activity android:name=".view.ControlsMaterialDark"
android:label="Views/Controls/6. Material Dark Theme"
android:theme="@android:style/Theme.Material"
android:enabled="@bool/atLeastLRelease">

View File

@@ -0,0 +1,28 @@
<?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.
-->
<!-- Used as the canonical button shape. -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:tint="?android:attr/colorBackgroundFloating">
<corners android:radius="2dp" />
<solid android:color="@android:color/white" />
<padding android:left="8dp"
android:top="8dp"
android:right="8dp"
android:bottom="8dp" />
</shape>

View File

@@ -40,7 +40,8 @@
android:id="@+id/button_disabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_1_save" />
android:text="@string/controls_1_save"
android:enabled="false" />
</LinearLayout>
<LinearLayout
@@ -131,6 +132,7 @@
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/planets"
android:drawSelectorOnTop="true" />
<TextView

View File

@@ -0,0 +1,377 @@
<?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.
-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
android:paddingRight="?android:attr/listPreferredItemPaddingRight">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/card_background"
android:paddingTop="24dp"
android:padding="16dp"
android:elevation="2dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_header_buttons"
style="@android:style/TextAppearance.Material.Title" />
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_button" />
<Button
android:id="@+id/button_borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_button_borderless"
style="@android:style/Widget.Material.Button.Borderless" />
<Button
android:id="@+id/button_colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_button_colored"
style="@android:style/Widget.Material.Button.Colored" />
<Button
android:id="@+id/button_borderless_colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_button_borderless_colored"
style="@android:style/Widget.Material.Button.Borderless.Colored" />
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/card_background"
android:paddingTop="24dp"
android:padding="16dp"
android:elevation="2dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_header_compound_buttons"
style="@android:style/TextAppearance.Material.Title" />
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_switch" />
<CheckBox
android:id="@+id/check1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_1_checkbox_1" />
<CheckBox
android:id="@+id/check2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_1_checkbox_2" />
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_1_radiobutton_1" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_1_radiobutton_2" />
</RadioGroup>
<CheckBox
android:id="@+id/star"
style="?android:attr/starStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_1_star" />
<ToggleButton
android:id="@+id/toggle1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ToggleButton
android:id="@+id/toggle2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/card_background"
android:paddingTop="24dp"
android:padding="16dp"
android:elevation="2dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_header_spinners"
style="@android:style/TextAppearance.Material.Title" />
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_spinner"
style="@android:style/TextAppearance.Material.Body1" />
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/planets"
android:drawSelectorOnTop="true" />
<Space
android:layout_width="wrap_content"
android:layout_height="8dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_spinner_underlined"
style="@android:style/TextAppearance.Material.Body1" />
<Spinner
android:id="@+id/spinner_underlined"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/planets"
style="@android:style/Widget.Material.Spinner.Underlined" />
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/card_background"
android:paddingTop="24dp"
android:padding="16dp"
android:elevation="2dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_header_seek_bars"
style="@android:style/TextAppearance.Material.Title" />
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_seek_bar"
style="@android:style/TextAppearance.Material.Body1" />
<SeekBar
android:id="@+id/edit"
android:layout_width="200dp"
android:layout_height="48dp" />
<Space
android:layout_width="wrap_content"
android:layout_height="8dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:max="7"
android:text="@string/controls_seek_bar_discrete"
style="@android:style/TextAppearance.Material.Body1" />
<SeekBar
android:id="@+id/edit"
android:layout_width="200dp"
android:layout_height="48dp"
android:max="7"
style="@android:style/Widget.Material.SeekBar.Discrete" />
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/card_background"
android:paddingTop="24dp"
android:padding="16dp"
android:elevation="2dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_header_text_fields"
style="@android:style/TextAppearance.Material.Title" />
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<EditText
android:id="@+id/edit"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<EditText
android:id="@+id/edit2"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/card_background"
android:paddingTop="24dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp"
android:elevation="2dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/controls_header_text_appearances"
style="@android:style/TextAppearance.Material.Title" />
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:focusable="true"
android:text="@string/textColorPrimary"
android:textAppearance="@android:style/TextAppearance.Material.Body1" />
<Space
android:layout_width="wrap_content"
android:layout_height="8dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:focusable="true"
android:text="@string/textColorSecondary"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorSecondary" />
<Space
android:layout_width="wrap_content"
android:layout_height="8dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:focusable="true"
android:text="@string/textColorTertiary"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
android:textColor="?android:attr/textColorTertiary" />
<Space
android:layout_width="wrap_content"
android:layout_height="8dp" />
<TextView
style="?android:attr/listSeparatorTextViewStyle"
android:layout_marginTop="5dip"
android:text="@string/listSeparatorTextViewStyle" />
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="16dp" />
</LinearLayout>
</ScrollView>

View File

@@ -1152,6 +1152,21 @@
<string name="controls_1_radiobutton_1">RadioButton 1</string>
<string name="controls_1_radiobutton_2">RadioButton 2</string>
<string name="controls_1_star">Star</string>
<string name="controls_header_buttons">Buttons</string>
<string name="controls_button">Button</string>
<string name="controls_button_borderless">Button.Borderless</string>
<string name="controls_button_colored">Button.Colored</string>
<string name="controls_button_borderless_colored">Button.Borderless.Colored</string>
<string name="controls_header_compound_buttons">Compound buttons</string>
<string name="controls_header_spinners">Spinners</string>
<string name="controls_spinner">Spinner</string>
<string name="controls_spinner_underlined">Spinner.Underlined</string>
<string name="controls_switch">Switch</string>
<string name="controls_header_seek_bars">Seek bars</string>
<string name="controls_seek_bar">SeekBar</string>
<string name="controls_seek_bar_discrete">SeekBar.Discrete</string>
<string name="controls_header_text_fields">Text fields</string>
<string name="controls_header_text_appearances">Text appearances</string>
<string name="focus_1_message">Service not running</string>
<string name="focus_1_placeholder">placeholder</string>
<string name="focus_2_left">left</string>

View File

@@ -36,19 +36,7 @@ public class Controls1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.controls_1);
Button disabledButton = (Button) findViewById(R.id.button_disabled);
disabledButton.setEnabled(false);
Spinner s1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, mStrings);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(adapter);
}
private static final String[] mStrings = {
"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"
};
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2011 The Android Open Source Project
* 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.
@@ -16,4 +16,4 @@
package com.example.android.apis.view;
public class Controls5 extends Controls1 {}
public class ControlsMaterialDark extends ControlsMaterialLight { }

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2011 The Android Open Source Project
* 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.
@@ -16,4 +16,15 @@
package com.example.android.apis.view;
public class Controls6 extends Controls1 {}
import android.app.Activity;
import android.os.Bundle;
public class ControlsMaterialLight extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(com.example.android.apis.R.layout.controls_material);
}
}