当前位置: 首页 > news >正文

流量型网站网站开发字体

流量型网站,网站开发字体,seo网站建设时文章频率,湖北网站建设论文题目要求ro.wallpaper.fixsize这个节点应该是RK这边导入的#xff0c;可以通过追这个节点的代码查看具体的实现方式#xff1b; 最近在开7.0的坑#xff0c;遇到了一些小问题#xff0c;记录一下。很大可能这个问题只是我这个芯片的代码上才存在的#xff0c;不过殊途同归啦。 第…ro.wallpaper.fixsize这个节点应该是RK这边导入的可以通过追这个节点的代码查看具体的实现方式 最近在开7.0的坑遇到了一些小问题记录一下。很大可能这个问题只是我这个芯片的代码上才存在的不过殊途同归啦。 第一个问题就是我们增加内置可选壁纸选择这些壁纸后进行设置会发现拉伸很明显。通过增加打印log发现 diff --git a/src/com/android/wallpaperpicker/WallpaperCropActivity.java b/src/com/android/wallpaperpicker/WallpaperCropActivity.java old mode 100644 new mode 100755 index bdb601b..67d1551 --- a/src/com/android/wallpaperpicker/WallpaperCropActivity.javab/src/com/android/wallpaperpicker/WallpaperCropActivity.java-337,15 337,22 public class WallpaperCropActivity extends Activity implements Handler.CallbackPoint inSize mCropView.getSourceDimensions();Point outSize WallpaperUtils.getDefaultWallpaperSize(getResources(),getWindowManager());android.util.Log.d(LOGTAG,inSize.x inSize.x inSize.y inSize.youtSize.x outSize.x outSize.y outSize.y);RectF crop Utils.getMaxCropRect(inSize.x, inSize.y, outSize.x, outSize.y, false);// Passing 0, 0 will cause launcher to revert to using the// default wallpaper sizeCropAndFinishHandler onEndCrop new CropAndFinishHandler(new Point(0, 0),shouldFadeOutOnFinish);CropAndSetWallpaperTask cropTask new CropAndSetWallpaperTask(streamProvider, this, crop, streamProvider.getRotationFromExif(this),outSize.x, outSize.y, onEndCrop);DialogUtils.executeCropTaskAfterPrompt(this, cropTask, getOnDialogCancelListener());} 我们的壁纸尺寸是1024*600log打印的inSize都是正确的但是outSize却变成了1200*1024了由此产生了壁纸设置后有拉伸的情况。 因此问题就是出在这个Size的变化上我们继续跟踪源码会发现 diff --git a/src/com/android/wallpaperpicker/WallpaperUtils.java b/src/com/android/wallpaperpicker/WallpaperUtils.java old mode 100644 new mode 100755 index 1532190..a4d88d7 --- a/src/com/android/wallpaperpicker/WallpaperUtils.javab/src/com/android/wallpaperpicker/WallpaperUtils.java-137,7 137,7 public final class WallpaperUtils {// We need to ensure that there is enough extra space in the wallpaper// for the intended parallax effects -            final int defaultWidth, defaultHeight;int defaultWidth, defaultHeight;if (res.getConfiguration().smallestScreenWidthDp 720) {defaultWidth (int) (maxDim * wallpaperTravelToScreenWidthRatio(maxDim, minDim));defaultHeight maxDim;-145,6 145,11 public final class WallpaperUtils {defaultWidth Math.max((int) (minDim * WALLPAPER_SCREENS_SPAN), maxDim);defaultHeight maxDim;}android.util.Log.d(WallpaperCropActivity, res.getConfiguration().smallestScreenWidthDp res.getConfiguration().smallestScreenWidthDp defaultWidth defaultWidthminDim minDim maxDim maxDim);defaultWidth maxDim;defaultHeight minDim;sDefaultWallpaperSize new Point(defaultWidth, defaultHeight);}return sDefaultWallpaperSize; 问题的根源就是这个defaultWidth和defaultHeight啦。继续打印log发现maxDim和minDim就是我们正确的壁纸尺寸这两个变量都是final的更改下修饰符同时将最终设置的尺寸更改为正确的辣么设置的壁纸的拉伸问题就暂时解决了。 第二个问题就是设置sd卡中的图片作为壁纸这个东西源码分析的过程比较复杂。可以通过dumpsys wallpaper以及dumpsys SurfaceFlinger来查看图片的设置尺寸。更改的地方涉及三处。分别是launcher3、framework/base/core以及SystemUI。 packages/apps/Launcher3 diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java index 38545e2..ecd3ad6 100644 --- a/src/com/android/launcher3/InvariantDeviceProfile.javab/src/com/android/launcher3/InvariantDeviceProfile.java-177,7 177,7 public class InvariantDeviceProfile {(int) (largeSide * wallpaperTravelToScreenWidthRatio(largeSide, smallSide)),largeSide);} else { -            defaultWallpaperSize new Point(Math.max(smallSide * 2, largeSide), largeSide);defaultWallpaperSize new Point(largeSide, largeSide);}}frameworks/base --- a/core/java/android/app/WallpaperManager.javab/core/java/android/app/WallpaperManager.java-55,6 55,7 import android.os.SystemProperties;import android.os.UserHandle;import android.text.TextUtils;import android.util.Log; import android.view.WindowManager;import android.view.WindowManagerGlobal;import libcore.io.IoUtils;-310,7 311,7 public class WallpaperManager {mCachedWallpaper null;mCachedWallpaperUserId 0;try { -                    mCachedWallpaper getCurrentWallpaperLocked(userId);mCachedWallpaper getCurrentWallpaperLocked(context,userId);mCachedWallpaperUserId userId;} catch (OutOfMemoryError e) {Log.w(TAG, No memory load current wallpaper, e);-342,7 343,7 public class WallpaperManager {}}-        private Bitmap getCurrentWallpaperLocked(int userId) {private Bitmap getCurrentWallpaperLocked(Context context,int userId) {if (mService null) {Log.w(TAG, WallpaperService not running);return null;-354,7 355,15 public class WallpaperManager {params, userId);if (fd ! null) {try {WindowManager mWindowManager (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);int wW mWindowManager.getDefaultDisplay().getWidth();int wH mWindowManager.getDefaultDisplay().getHeight();BitmapFactory.Options options new BitmapFactory.Options();options.inJustDecodeBounds true;BitmapFactory.decodeFileDescriptor(fd.getFileDescriptor(), null, options);options.inSampleSize calculateInSampleSize(options, wW,wH);options.inJustDecodeBounds false;return BitmapFactory.decodeFileDescriptor(fd.getFileDescriptor(), null, options);} catch (OutOfMemoryError e) {-369,11 378,30 public class WallpaperManager {return null;}        private int calculateInSampleSize(BitmapFactory.Options options,int reqWidth, int reqHeight){int width options.outWidth;int height options.outHeight;int inSampleSize 1;if (width reqWidth height reqHeight){int widthRatio Math.round((float) width / (float) reqWidth);int heightRatio Math.round((float) width / (float) reqWidth);inSampleSize Math.max(widthRatio, heightRatio);}return inSampleSize;} private Bitmap getDefaultWallpaper(Context context, SetWallpaperFlags int which) {WindowManager mWindowManager (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);int wW mWindowManager.getDefaultDisplay().getWidth();int wH mWindowManager.getDefaultDisplay().getHeight();InputStream is openDefaultWallpaper(context, which);if (is ! null) {try {BitmapFactory.Options options new BitmapFactory.Options();options.inJustDecodeBounds true;BitmapFactory.decodeStream(is, null, options);options.inSampleSize calculateInSampleSize(options, wW,wH);options.inJustDecodeBounds false;return BitmapFactory.decodeStream(is, null, options);} catch (OutOfMemoryError e) {Log.w(TAG, Cant decode stream, e);diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java index c88931d..fecc47e 100755 --- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.javab/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java-229,14 229,15 public class ImageWallpaper extends WallpaperService {surfaceHeight Math.max(displayInfo.logicalHeight, mBackgroundHeight);}-            if (FIXED_SIZED_SURFACE) {//Log.d(TAG,----surfaceWidth surfaceWidth surfaceHeight surfaceHeight);/*if (FIXED_SIZED_SURFACE) {// Used a fixed size surface, because we are special.  We can do// this because we know the current design of window animations doesnt// cause this to break.surfaceHolder.setFixedSize(surfaceWidth, surfaceHeight);mLastRequestedWidth surfaceWidth;mLastRequestedHeight surfaceHeight; -            } else {} else*/ {surfaceHolder.setSizeFromLayout();}return hasWallpaper;
http://www.hkea.cn/news/14342502/

相关文章:

  • 十堰做网站最专业的公司上海网站开发招聘
  • 选做旅游网站的课题分析企业年金值得交吗
  • 苏州网站建设 苏州网络推广专家河北住建城乡建设网站
  • 萍乡建站公司wordpress爱主题
  • php美食网站开发的意义wordpress页眉设置
  • 平凉市住房和城乡建设厅网站wordpress 角色权限
  • 几个做ppt的网站知乎电子商务自助建网站
  • 大专网站建设论文马化腾称视频号是全公司希望
  • dw做的网站成品外贸怎么做公司网站
  • 餐饮公司网站模板下载高端网站开发平台
  • 网站建设人员要求《美食天下》网站的建设
  • 东莞网站平台费用哪个网站做logo赚钱
  • 专业的单位网站开发公司展示型网站企业网站建设
  • 汕头市做网站优化市场营销策划案
  • 网站企业备案需要哪些数字营销专业大学排名
  • 台州网站排名优化二进制可以做网站是吗
  • 义乌外贸网站开发做的网站进不去后台
  • 江西网站备案流程济南易搜的网站建设
  • 有哪些网站做的好新民电商网站建设程序
  • 程家桥街道网站建设如何让自己的网站快速被百度收录
  • 常州网站建设公司推荐做家教需要什么哪个网站的会员
  • 网站介绍页面东营破产信息网官网
  • dede做英文网站优化学前端什么网站好
  • 安陆做网站公司网络营销推广的八大核心
  • wordpress中home pageseo关键词有话要多少钱
  • 网站关键词排名优化应该怎么做淘宝的网站开发历史及难度
  • 重点实验室网站建设方案gulf oil wordpress
  • 重庆网站建设慕枫开福区城乡建设局网站
  • 清远市住房和城乡建设局门户网站wordpress字不能
  • 建设淘宝网站的目的网站建设 淘宝客末班