我的公司里有一项任务。他们希望我在Android电视上显示4k分辨率图像(4096 X 2160),我们现在只使用Android java代码。我要提到的一件事是,我们的电视分辨率是1920 X 1080.我从日志中得到了这个分辨率:
WindowManager windowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
TvLog.i(TAG, "Width" + display.getWidth());
TvLog.i(TAG, "Height" + display.getHeight());
并且宽度将显示1920,而高度将显示1080.我只使用一个简单的代码来显示图像。下面是代码:
View view;
WindowManager wm;
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
LayoutInflater layoutInflater = LayoutInflater.from(this);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSPARENT);
wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
view = layoutInflater.inflate(R.layout.pict_4k, null);
params.gravity = Gravity.TOP | Gravity.END;
wm.addView(view, params);
}
布局也很简单:
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/a1" >
我读到只有Android 6.0,才会推出4k模式API。目前我正在使用Android 5.0。所以,有什么办法让我强制图片在电视上显示其实际分辨率吗?
答案 0 :(得分:0)