New API demo showing different soft input modes.
Change-Id: I2aa53a093df0bd11d9bbe9eb866d2309f113d96d
This commit is contained in:
@@ -148,6 +148,14 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity android:name=".app.SoftInputModes"
|
||||||
|
android:label="@string/soft_input_modes">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
<category android:name="android.intent.category.SAMPLE_CODE" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
|
||||||
<activity android:name=".app.ReceiveResult" android:label="@string/activity_receive_result">
|
<activity android:name=".app.ReceiveResult" android:label="@string/activity_receive_result">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|||||||
64
samples/ApiDemos/res/layout/soft_input_modes.xml
Normal file
64
samples/ApiDemos/res/layout/soft_input_modes.xml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2007 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Demonstrates different soft input modes.
|
||||||
|
See corresponding Java code com.android.sdk.app.SoftInputModes.java. -->
|
||||||
|
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent" android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0"
|
||||||
|
android:paddingBottom="4dip"
|
||||||
|
android:textAppearance="?android:textAppearanceMedium"
|
||||||
|
android:text="@string/soft_input_modes_summary"/>
|
||||||
|
|
||||||
|
<LinearLayout android:orientation="horizontal" android:gravity="center"
|
||||||
|
android:layout_width="match_parent" android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content" android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="?android:textAppearanceMedium"
|
||||||
|
android:text="@string/soft_input_modes_label"/>
|
||||||
|
|
||||||
|
<Spinner android:id="@+id/resize_mode"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:drawSelectorOnTop="true">
|
||||||
|
</Spinner>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:paddingBottom="6dip"
|
||||||
|
android:background="@drawable/red"
|
||||||
|
android:textAppearance="?android:textAppearanceMedium"
|
||||||
|
android:text="@string/soft_input_modes_content"/>
|
||||||
|
|
||||||
|
<EditText android:id="@+id/saved"
|
||||||
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0"
|
||||||
|
android:background="@drawable/green"
|
||||||
|
android:text="@string/soft_input_modes_initial_text"
|
||||||
|
android:freezesText="true">
|
||||||
|
<requestFocus />
|
||||||
|
</EditText>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
@@ -68,6 +68,15 @@
|
|||||||
<string name="no_saves_state">This text field does not save its state:</string>
|
<string name="no_saves_state">This text field does not save its state:</string>
|
||||||
<string name="initial_text">Initial text.</string>
|
<string name="initial_text">Initial text.</string>
|
||||||
|
|
||||||
|
<string name="soft_input_modes">App/Activity/Soft Input Modes</string>
|
||||||
|
<string name="soft_input_modes_summary">Shows how different soft input modes impact
|
||||||
|
application resizing due to an input method.</string>
|
||||||
|
<string name="soft_input_modes_label">Resize mode: </string>
|
||||||
|
<string name="soft_input_modes_content">This is a part of the application\'s UI that
|
||||||
|
can resize to adjust for the IME.</string>
|
||||||
|
<string name="soft_input_modes_initial_text">Text editor.\n\nTap to show the IME,
|
||||||
|
which will cause this window to resize as requested.</string>
|
||||||
|
|
||||||
<string name="activity_persistent">App/Activity/Persistent State</string>
|
<string name="activity_persistent">App/Activity/Persistent State</string>
|
||||||
<string name="persistent_msg">Demonstration of persistent activity state with getPreferences(0).edit() and getPreferences(0).</string>
|
<string name="persistent_msg">Demonstration of persistent activity state with getPreferences(0).edit() and getPreferences(0).</string>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
package com.example.android.apis.app;
|
||||||
|
|
||||||
|
import com.example.android.apis.R;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.admin.DevicePolicyManager;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.AdapterView.OnItemSelectedListener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Demonstrates how the various soft input modes impact window resizing.
|
||||||
|
*/
|
||||||
|
public class SoftInputModes extends Activity {
|
||||||
|
Spinner mResizeMode;
|
||||||
|
final CharSequence[] mResizeModeLabels = new CharSequence[] {
|
||||||
|
"Unspecified", "Resize", "Pan", "Nothing"
|
||||||
|
};
|
||||||
|
final int[] mResizeModeValues = new int[] {
|
||||||
|
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED,
|
||||||
|
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE,
|
||||||
|
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN,
|
||||||
|
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialization of the Activity after it is first created. Here we use
|
||||||
|
* {@link android.app.Activity#setContentView setContentView()} to set up
|
||||||
|
* the Activity's content, and retrieve the EditText widget whose state we
|
||||||
|
* will persistent.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
// Be sure to call the super class.
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
// See assets/res/any/layout/save_restore_state.xml for this
|
||||||
|
// view layout definition, which is being set here as
|
||||||
|
// the content of our screen.
|
||||||
|
setContentView(R.layout.soft_input_modes);
|
||||||
|
|
||||||
|
mResizeMode = (Spinner)findViewById(R.id.resize_mode);
|
||||||
|
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this,
|
||||||
|
android.R.layout.simple_spinner_item, mResizeModeLabels);
|
||||||
|
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||||
|
mResizeMode.setAdapter(adapter);
|
||||||
|
mResizeMode.setSelection(0);
|
||||||
|
mResizeMode.setOnItemSelectedListener(
|
||||||
|
new OnItemSelectedListener() {
|
||||||
|
public void onItemSelected(
|
||||||
|
AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
getWindow().setSoftInputMode(mResizeModeValues[position]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onNothingSelected(AdapterView<?> parent) {
|
||||||
|
getWindow().setSoftInputMode(mResizeModeValues[0]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user