状态栏一体化及其带来的软键盘自适应问题(二)
来源:互联网 发布:2016年网络搜索话题 编辑:程序博客网 时间:2024/06/04 19:45
这篇是在状态栏一体化的基础上谈一下软键盘的自适应问题,有需要可以先看一下上篇介绍的状态栏一体化实现[状态栏一体化及其带来的软键盘自适应问题 ]
(http://blog.csdn.net/yiy91/article/details/51150516)
在上篇中一体化 简单介绍了下android:fitsSystemWindows=”true”;而软件盘问题也正是由它所带来的;在上篇代码的基础上,在activity_main.xml中添加一个输入框,效果图
在AndroidManifest.xml里Mainactivity中添加android:windowSoftInputMode=”adjustResize|stateHidden”
运行后 点击输入框,弹出软件盘 就会出现如下效果
啊哦,我们标题栏的文字没有了~~~问什么会这样呢,此时我们只要将adjustResize改成adjustPan或者直接去掉就ok了。adjustResize、adjustPan等属性这里就不多介绍了,总结结果就是这样子。。上图
但是,有时候我们需要adjustResize时怎么办呢,比如说qq的聊天界面,输入框在最屏幕最底部,我们需要点击它时弹出软键盘,同时输入框上移。这个时候adjustResize就是必要的。直接说我的解决办法。此时标题栏不再用之前自定义的那个,重新布局,将android:fitsSystemWindows=”true”放在activity根布局里activity_new2.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:background="#8C8C8C"> <RelativeLayout android:id="@+id/title" android:layout_width="match_parent" android:layout_height="48dp" android:background="#1f9ff9" android:clipToPadding="true"> <RelativeLayout android:layout_width="50dp" android:layout_height="50dp" android:background="@android:color/transparent" android:layout_alignParentLeft="true"> <ImageView android:id="@+id/title_iv_back" android:layout_width="8dp" android:layout_height="14dp" android:layout_centerInParent="true" android:layout_marginLeft="15dp" android:src="@drawable/back" /> </RelativeLayout> <TextView android:id="@+id/title_tv_name" android:layout_width="wrap_content" android:layout_height="48dp" android:background="@android:color/transparent" android:ellipsize="end" android:maxWidth="240dp" android:singleLine="true" android:text="标题" android:textColor="@android:color/white" android:textSize="18sp" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" android:gravity="center" /> </RelativeLayout> <EditText android:layout_width="match_parent" android:layout_height="60dp" android:id="@+id/editText" android:layout_alignParentBottom="true" android:background="@drawable/seabar_input" android:paddingLeft="16dp" android:paddingRight="16dp" android:hint="点击输入..." android:textColorHint="#8C8C8C"/></RelativeLayout>
NewActivity2.java:
import android.app.Activity;import android.os.Build;import android.os.Bundle;import android.view.Window;import android.view.WindowManager;/** * Created on 2016/4/15. */public class NewActivity2 extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new2); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window win = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; winParams.flags |= bits; win.setAttributes(winParams); SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setStatusBarTintResource(R.color.title_color); } }}
配置:
<activity android:name=".NewActivity2" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize|stateHidden"> </activity>
效果图:
SystemBarTintManager.java 是一个关于状态栏操作的开源库,可以自己在网上下载~~~~
- 状态栏一体化及其带来的软键盘自适应问题(二)
- 状态栏一体化及其带来的软键盘自适应问题
- Android Framework下手机状态栏一体化和一体化后颜色存在的问题
- 状态栏一体化
- 状态栏一体化
- 状态栏一体化
- 自适应软键盘的Dialog以及监听软键盘弹起
- 自适应软键盘的Dialog以及监听软键盘弹起
- 自适应软键盘的Dialog以及监听软键盘弹起
- Fragment切换 (状态栏一体化)状态栏闪烁问题
- 软键盘自适应
- Android状态栏一体化 (改变状态栏的背景颜色)
- android状态栏一体化(改变状态栏的背景颜色)类似于IOS
- android状态栏一体化(改变状态栏的背景颜色)
- android状态栏一体化(改变状态栏的背景颜色)
- android 沉浸式状态栏 软键盘挡住输入框问题
- Android软键盘(二) 软键盘弹出布局上移的问题
- 泛型(二)->擦除&擦除带来的问题
- MFC六大关键技术
- IOS苹果Xcode帮助文档阅读指南
- ListView的动态刷新问题——用notifyDataSetChanged没作用
- 广播和自定义广播事件
- Core Animation - CATextLayer和富文本
- 状态栏一体化及其带来的软键盘自适应问题(二)
- Java使用Protocol Buffers入门四步骤
- MFC检测网络连接和ping IP地址
- android学习之视频播放
- Xcode调试方法
- Swift笔记:类和结构体
- Java泛型的理解
- 如何修改MySQL监听IP地址
- Android 银行卡扫描识别获取卡号