背景
开发的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);// 根据设备类型来确定横竖屏显示方式
===========================================================================