您的位置:首页 > 移动开发 > Android开发

Android中根据设备类型利用代码来动态控制某一界面的横竖屏显示

2018-02-09 20:29 597 查看
背景

思路

代码实现
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!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐