Android杂谈————软键盘、背景透明、粘贴板

● SoftInputModes

用户在输入框输入时,软键盘会跳出来,这时软键盘可能挡住了输入框。怎么办嗯?Android的WindowManager.LayoutParams提供了四个常量设置:

SOFT_INPUT_ADJUST_NOTHING: 不调整(输入法完全直接覆盖住,未开放此参数)

SOFT_INPUT_ADJUST_PAN: 把整个Layout顶上去露出获得焦点的EditText,不压缩多余空间

SOFT_INPUT_ADJUST_RESIZE: 整个Layout重新编排,重新分配多余空间

SOFT_INPUT_ADJUST_UNSPECIFIED: 系统自己根据内容自行选择上两种方式的一种执行(默认配置)

● Translucent ,Translucent Blur

实现背景透明效果。activity1启动activity2,可以隐约看到activity1的背景。这种效果是通过设置Theme来实现的。在AndroidManifest.xml文件对应的activity中,android:theme=”@style/Theme.translucent”或者android:theme=”@style/Theme.transparent”.

translucent和transparent两个style的定义在styles.xml文件中。设置windowBackground为@drawbale/translucent_background或@drawbale/transparentt_background。

这两个drawable在colors.xml文件中定义。可以看到值分别为e0000000和00000000。前两位是alpha值,表示透明度。后六位是RGB分量。

●ClipboardManager

把一段文字通过这种方式粘贴到粘贴板上面(需要版本11以上支持)
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(需要粘贴的文本);

    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    @SuppressLint("NewApi")
    @SuppressWarnings("deprecation")
    private void copyToClipBoard(){
        if (Build.VERSION.SDK_INT<11) 
            return;
        String text= "需要粘贴的文字";
        if (!TextUtils.isEmpty(text)){
            ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
            clipboard.setText(text);
            toast("text已经复制到剪贴板了");     
        }
    }

你可能感兴趣的:(Android杂谈)