Android Api demo系列(10) (App>Activity>SoftInputModes键盘显示方式)

App>Activity>SoftInputModes键盘显示方式

有四种显示方式,其中两种是一样的。

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) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.soft_input_modes);
        
        mResizeMode = (Spinner)findViewById(R.id.resize_mode);
        //一个简单的arrayadapter ,String类型的
        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) {
                        //设置window的显示输入键盘的方式
                        getWindow().setSoftInputMode(mResizeModeValues[position]);
                    }

                    public void onNothingSelected(AdapterView<?> parent) {
                        getWindow().setSoftInputMode(mResizeModeValues[0]);
                    }
                });
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值