Activity简易配置
2017-04-24 00:00
155 查看
1.保持屏幕常亮
2.横竖屏配置
AndroidManifest.xml文件中的配置
android:screenOrientation,属性取值landscape为固定横屏、portrait为固定纵屏幕。
代码:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//强制为横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
延伸
屏幕会自动切换时,默认状态的应用程序,会重新调用onCreate,相当于重新启动了一次应用程序。同时,layout可能因为横屏带来不能合理适 配的问题。为了解决旋屏和键盘切换引起的程序重启问题,还需要增加一个属性:android:configChanges。这个属性可以理解为一个监听 器,它将拦截旋屏和键盘切换事件,阻止程序重启而变为回调onConfigurationChanged方法。这里常用的属性取值 为:keyboardHidden|orientation。
3.全屏配置
一、通过代码
在setContentView之前执行
这种方式会看到标题栏和状态栏一闪而过
二、调用Android自带的Theme
直接在AndroidManifest.xml中需要全屏显示的Activity属性中添加
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
三、自己定义全屏Theme
在style.xml文件中定义theme(如果没有style.xml,在res/values目录下创建)
<resources>
<style name="Theme.NoTitle_FullScreen">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
直接在AndroidManifest.xml中需要全屏显示的Activity属性中添加
android:theme="@style/Theme.NoTitle_FullScree”
4.窗体泄漏错误has leaked window android.widget
因Activity关闭,而通过WindowManager添加的控件未关闭,导致无法附着报类似has leaked window android.widget的错误,只需做如下处理
@Override
protected void onDestroy() {
super.onDestroy();
mWindowManager.removeView(mDialogText);
}
即,在app退出的生命周期函数里调用窗体的关闭方法关闭窗口即可
5.手动显示和隐藏软键盘
(1).方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
(2).方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示)
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘
(3).调用隐藏系统默认的输入法
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是当前的Activity)
(4).获取输入法打开的状态
InputMethodManager imm =
(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开
Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
2.横竖屏配置
AndroidManifest.xml文件中的配置
android:screenOrientation,属性取值landscape为固定横屏、portrait为固定纵屏幕。
代码:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//强制为横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
延伸
屏幕会自动切换时,默认状态的应用程序,会重新调用onCreate,相当于重新启动了一次应用程序。同时,layout可能因为横屏带来不能合理适 配的问题。为了解决旋屏和键盘切换引起的程序重启问题,还需要增加一个属性:android:configChanges。这个属性可以理解为一个监听 器,它将拦截旋屏和键盘切换事件,阻止程序重启而变为回调onConfigurationChanged方法。这里常用的属性取值 为:keyboardHidden|orientation。
3.全屏配置
一、通过代码
在setContentView之前执行
requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//隐藏状态栏
这种方式会看到标题栏和状态栏一闪而过
二、调用Android自带的Theme
直接在AndroidManifest.xml中需要全屏显示的Activity属性中添加
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
三、自己定义全屏Theme
在style.xml文件中定义theme(如果没有style.xml,在res/values目录下创建)
<resources>
<style name="Theme.NoTitle_FullScreen">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
直接在AndroidManifest.xml中需要全屏显示的Activity属性中添加
android:theme="@style/Theme.NoTitle_FullScree”
4.窗体泄漏错误has leaked window android.widget
因Activity关闭,而通过WindowManager添加的控件未关闭,导致无法附着报类似has leaked window android.widget的错误,只需做如下处理
@Override
protected void onDestroy() {
super.onDestroy();
mWindowManager.removeView(mDialogText);
}
即,在app退出的生命周期函数里调用窗体的关闭方法关闭窗口即可
5.手动显示和隐藏软键盘
(1).方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
(2).方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示)
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘
(3).调用隐藏系统默认的输入法
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是当前的Activity)
(4).获取输入法打开的状态
InputMethodManager imm =
(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开
相关文章推荐
- APACHE+PHP5+MYSQL4(5)+PHPMYADMIN 的简易安装配置 (转)
- Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
- 简易HIS配置可能出现的问题
- Cisco路由器的安全配置简易方案
- NFS简易配置笔记
- Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
- win2003下APACHE2.050+PHP5+MYSQL4.0.20+PHPMYADMIN2.57 的简易安装配置
- apache+php5+mysql4(5)+phpmyadmin 的简易安装配置
- Redhat Linux 下 PHP5 + MySQL5 + GD2 + Proftpd + phpmyadmin 简易安装配置(转)
- (转载/摘操/保存)win2003下APACHE2.050+PHP5+MYSQL4.0.20+PHPMYADMIN2.57 的简易安装配置
- Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
- Tomcat5.5.15配置MySQL数据库连接池的简易方法
- 教程-Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
- Apache+PHP5+MySQL4(5)+PHPMyAdmin 的简易安装配置
- win2003下APACHE2.050+PHP5+MYSQL4.0.20+PHPMYADMIN2.57 的简易安装配置
- APACHE+PHP5的简易安装配置
- Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
- win2003+apache+php+mysql 简易配置
- Cisco路由器的安全配置简易方案
- Apache+PHP5+MySQL4(5)+PHPMyAdmin 的简易安装配置