Demonstrates how the various soft input modes impact window resizing.
package app.test;
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 Test 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.main);
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]);
}
});
}
}
//main.xml
<?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="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="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/icon"
android:textAppearance="?android:textAppearanceMedium"
android:text="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/icon"
android:text="soft_input_modes_initial_text"
android:freezesText="true">
<requestFocus />
</EditText>
</LinearLayout>
Related examples in the same category