private void setCustomLockscreenImage() {
Intent intent = new Intent(getActivity(), PickImageActivity.class);
intent.putExtra(PickImageActivity.EXTRA_CROP, true);
intent.putExtra(PickImageActivity.EXTRA_SCALE, true);
Display display = getActivity().getWindowManager().getDefaultDisplay();
Point displaySize = new Point();
display.getRealSize(displaySize);
// Lock screen for tablets visible section are different in landscape/portrait,
// image need to be cropped correctly, like wallpaper setup for scrolling in background in home screen
// other wise it does not scale correctly
if (Utils.isTabletUI(getActivity())) {
WallpaperManager wpManager = WallpaperManager.getInstance(getActivity());
int wpWidth = wpManager.getDesiredMinimumWidth();
int wpHeight = wpManager.getDesiredMinimumHeight();
float spotlightX = (float) displaySize.x / wpWidth;
float spotlightY = (float) displaySize.y / wpHeight;
intent.putExtra(PickImageActivity.EXTRA_ASPECT_X, wpWidth);
intent.putExtra(PickImageActivity.EXTRA_ASPECT_Y, wpHeight);
intent.putExtra(PickImageActivity.EXTRA_OUTPUT_X, wpWidth);
intent.putExtra(PickImageActivity.EXTRA_OUTPUT_Y, wpHeight);
intent.putExtra(PickImageActivity.EXTRA_SPOTLIGHT_X, spotlightX);
intent.putExtra(PickImageActivity.EXTRA_SPOTLIGHT_Y, spotlightY);
} else {
boolean isPortrait = getResources().getConfiguration().orientation ==
Configuration.ORIENTATION_PORTRAIT;
intent.putExtra(PickImageActivity.EXTRA_ASPECT_X, isPortrait ? displaySize.x : displaySize.y);
intent.putExtra(PickImageActivity.EXTRA_ASPECT_Y, isPortrait ? displaySize.y : displaySize.x);
}
getActivity().startActivityFromFragment(this, intent, REQ_LOCKSCREEN_BACKGROUND);
}
GravityBoxSettings.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:GravityBox
作者:
评论列表
文章目录