Android中根据设备类型利用代码来动态控制某一界面的横竖屏显示
2018-02-09 20:29
597 查看
背景
思路
代码实现
A little bit of progress every dayCome on
首先我们需要判断当前设备是手机还是平板;确定设备类型后,根据对应的类型设备来进行对应的横竖屏显示即可。
我这里将选择横竖屏显示的方式封装在工具类中,大家只需要在需要的activity(某一界面)的onCreate方法中进行调用即可,如下:
![](https://img-blog.csdn.net/20180209202555239?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3NkbnpvdXFp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
===========================================================================
思路
代码实现
A little bit of progress every dayCome on
背景
开发的Android应用程序,原来是在手机上进行测试的,但是其实是需要给平板安装使用的。在手机上的时候就竖屏显示效果好,而平板上横屏显示效果好。于是这里就需要根据设备的类型来进行判断是横屏显示还是竖屏显示。(其实是用自定义view绘制的一张地图了拉!)思路
下面讲讲实现的思路。首先我们需要判断当前设备是手机还是平板;确定设备类型后,根据对应的类型设备来进行对应的横竖屏显示即可。
代码实现
实现如下:package com.example.pc_2.carmapproject.utils; import android.app.Activity; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.util.DisplayMetrics; import android.view.WindowManager; import com.example.pc_2.carmapproject.activity.MainActivity; /** * Created by zouqi on 2018/2/9. */ public class ScreenUtil { /** * 根据设备类型(手机或平板)来判断地图主界面的横竖屏显示方式 * @param activity */ public static void selectScreentDirection(Activity activity){ if(!isTabletDevice(activity)){ ToastUtil.showToast(activity, "当前设备是手机设备"); activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 设置竖屏显示 }else { ToastUtil.showToast(activity, "当前设备是平板设备"); activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);// 设置横屏显示 } } /** * 判断当前设备是否是平板 * @param context * @return true 平板、false 手机 */ private static boolean isTabletDevice(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; } }
我这里将选择横竖屏显示的方式封装在工具类中,大家只需要在需要的activity(某一界面)的onCreate方法中进行调用即可,如下:
ScreenUtil.selectScreentDirection(MainActivity.this);// 根据设备类型来确定横竖屏显示方式
===========================================================================
A little bit of progress every day!Come on!
相关文章推荐
- android 根据checkBox动态控制密码的显示和隐藏
- Android利用代码控制设备上其他音乐播放器的方法
- android ApiDemos学习1 主界面动态ListView显示
- Android中用Java代码模拟鼠标指针(可显示于整个系统界面之上)
- android中phonegap下js调用java代码 progressbar显示的控制
- android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)
- 在android中利用多线程实现对控件的更新(动态修改文本框中的值)。简述原理并上传代码。
- android中用java代码动态控制activity的大小,位置,透明度
- Python实现利用socket连接adb控制android设备
- Android利用代码清除App的数据和重启设备
- 【译】用Fragment创建动态的界面布局(附Android示例代码)
- 动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args )
- android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)
- 如何修改Android设备状态条上音量加减键在横竖屏的时候的切换与显示
- 利用Android游戏引擎Angle开发界面——显示汉字
- Android如何使用代码动态生成界面
- 动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值【转】
- Android利用代码清除App的数据和重启设备
- Android中利用OnTouchListener在中ImageView中动态显示图片
- [转载内容]动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args )