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:
@@ -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">
|
||||
|
||||
28
samples/ApiDemos/res/drawable/card_background.xml
Normal file
28
samples/ApiDemos/res/drawable/card_background.xml
Normal 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>
|
||||
@@ -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
|
||||
|
||||
377
samples/ApiDemos/res/layout/controls_material.xml
Normal file
377
samples/ApiDemos/res/layout/controls_material.xml
Normal 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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 { }
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user