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

建设工程网站什么时候可以同步htmlplay

建设工程网站什么时候可以同步,htmlplay,wordpress获取文章作者,哈尔滨城市建设局网站1.前言 在10.0的系统rom定制化开发中#xff0c;在对于launcher3的一些开发定制中#xff0c;在对hotseat的一些开发中#xff0c;需要实现动态hotseat居中 的功能#xff0c;就是在拖拽图标进入和拖出hotseat#xff0c;都可以保持hotseat居中的功能#xff0c;接下来分…1.前言 在10.0的系统rom定制化开发中在对于launcher3的一些开发定制中在对hotseat的一些开发中需要实现动态hotseat居中 的功能就是在拖拽图标进入和拖出hotseat都可以保持hotseat居中的功能接下来分析下相关功能实现 具体如图: 2.Launcher3拖拽图标进入hotseat自适应布局功能实现一的核心类 packages\apps\Launcher3\src\com\android\launcher3\Hotseat.java 3.Launcher3拖拽图标进入hotseat自适应布局功能实现一的核心功能分析和实现 Launcher顾名思义,就是桌面的意思,也是android系统启动后第一个启动的应用程序, :Launcher3负责管理和展示用户手机桌面上的各个应用程序图标。它通过GridView或者LinearLayout等布局管理器将 图标进行排列,并支持滑动、放大缩小等手势操作 Hotseat也是属于在导航栏底部的BubbleTextView的布局只是不显示app图标 3.1 Hotseat.java相关添加背景功能分析 在实现Launcher3拖拽图标进入hotseat自适应布局功能实现一的核心功能中通过上述的分析得知 首选需要给Hotseat添加背景功能然后需要根据hotseat的数量多少来设置hotseat的宽度高度等 相关参数这样就实现了第一步的hotseat的居中显示功能 public class Hotseat extends CellLayout implements LogContainerProvider, Insettable, Transposable {ViewDebug.ExportedProperty(category launcher)public boolean mHasVerticalHotseat;private final HotseatController mController;public Hotseat(Context context) {this(context, null);}public Hotseat(Context context, AttributeSet attrs) {this(context, attrs, 0);}public Hotseat(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);mController LauncherAppMonitor.getInstance(context).getHotseatController();}public HotseatController getController() {return mController;}/* Get the orientation specific coordinates given an invariant order in the hotseat. */public int getCellXFromOrder(int rank) {return mHasVerticalHotseat ? 0 : rank;}public int getCellYFromOrder(int rank) {return mHasVerticalHotseat ? (getCountY() - (rank 1)) : 0;}public void resetLayout(boolean hasVerticalHotseat) {removeAllViewsInLayout();mHasVerticalHotseat hasVerticalHotseat;InvariantDeviceProfile idp mActivity.getDeviceProfile().inv;if (hasVerticalHotseat) {setGridSize(1, idp.numHotseatIcons);} else {setGridSize(idp.numHotseatIcons, 1);}//add core start// 添加背景if(idp.numHotseatIcons0){setBackgroundResource(R.drawable.shape_corner);}//add core end}Overridepublic void fillInLogContainerData(View v, ItemInfo info, Target target, Target targetParent) {target.gridX info.cellX;target.gridY info.cellY;targetParent.containerType LauncherLogProto.ContainerType.HOTSEAT;}Overridepublic void setInsets(Rect insets) {FrameLayout.LayoutParams lp (FrameLayout.LayoutParams) getLayoutParams();DeviceProfile grid mActivity.getWallpaperDeviceProfile();insets grid.getInsets();if (grid.isVerticalBarLayout()) {lp.height ViewGroup.LayoutParams.WRAP_CONTENT;if (grid.isSeascape()) {lp.gravity Gravity.LEFT;lp.width grid.hotseatBarSizePx insets.left;} else {lp.gravity Gravity.RIGHT;lp.width grid.hotseatBarSizePx insets.right;}} else {lp.gravity Gravity.BOTTOM;lp.width ViewGroup.LayoutParams.MATCH_PARENT;lp.height grid.hotseatBarSizePx insets.bottom;}Rect padding grid.getHotseatLayoutPadding();setPadding(padding.left, padding.top, padding.right, padding.bottom);setLayoutParams(lp);InsettableFrameLayout.dispatchInsets(this, insets);}Overridepublic boolean onTouchEvent(MotionEvent event) {// Dont let if follow through to workspacereturn true;}Overridepublic RotationMode getRotationMode() {return Launcher.getLauncher(getContext()).getRotationMode();} } 在实现Launcher3拖拽图标进入hotseat自适应布局功能实现一的核心功能中通过上述的分析得知 在Hotseat中相关源码分析可以发现由 resetLayout 就是负责布局的 当hotseat 增加减少时都会重新布局 所以在setBackgroundResource(R.drawable.shape_corner);添加背景就可以了 public void resetLayout(boolean hasVerticalHotseat) {removeAllViewsInLayout();mHasVerticalHotseat hasVerticalHotseat;InvariantDeviceProfile idp mActivity.getDeviceProfile().inv;if (hasVerticalHotseat) {setGridSize(1, idp.numHotseatIcons);} else {setGridSize(idp.numHotseatIcons, 1);}// 添加背景if(idp.numHotseatIcons0){setBackgroundResource(R.drawable.shape_corner);}}shape_corner.xml?xml version1.0 encodingutf-8? shape xmlns:androidhttp://schemas.android.com/apk/res/android!--背景颜色--solid android:color#FFFAFA /!--角的半径--corners android:radius10dp/!--边框颜色--stroke android:width1dp android:color#00000000 / /shapepublic void setInsets(Rect insets) {FrameLayout.LayoutParams lp (FrameLayout.LayoutParams) getLayoutParams();DeviceProfile grid mActivity.getWallpaperDeviceProfile();insets grid.getInsets();//竖屏布局if (grid.isVerticalBarLayout()) {lp.height ViewGroup.LayoutParams.WRAP_CONTENT;if (grid.isSeascape()) {lp.gravity Gravity.LEFT;lp.width grid.hotseatBarSizePx insets.left;} else {lp.gravity Gravity.RIGHT;lp.width grid.hotseatBarSizePx insets.right;}} else {//modify core start// 横屏布局// 平板开发项目 固定横屏所以要在这里设置参数// 设置宽高 左边底部的间距InvariantDeviceProfile idp mActivity.getDeviceProfile().inv;int hotseatNums idp.numHotseatIcons;lp.width hotseatNums*grid.hotseatBarSizePx(hotseatNums1)*dip2px(15.0f);lp.height grid.hotseatBarSizePx insets.bottom;if(getResources().getConfiguration().orientation Configuration.ORIENTATION_PORTRAIT){lp.leftMargin (int)((1080-lp.width)/2);}else{lp.leftMargin (int)((1920-lp.width)/2);}lp.gravity Gravity.BOTTOM;//modify core end}Rect padding grid.getHotseatLayoutPadding();// 设置padding 布局setPadding(0, padding.top, 0,0);setLayoutParams(lp);InsettableFrameLayout.dispatchInsets(this, insets);} 在实现Launcher3拖拽图标进入hotseat自适应布局功能实现一的核心功能中通过上述的分析得知 在Hotseat中相关源码分析 而setInset() 负责设置绘制布局 的参数 这里设置hotseat的宽高等参数布局 其实只需要修改lp的参数就行了 然后hotseat 会根据长宽等参数 来具体布局每一个hotseat的具体坐标 根据横竖屏来确定lp.leftMargin的值就可以保证居中显示
http://www.w-s-a.com/news/899267/

相关文章:

  • 手机网站建设书籍工商咨询服务
  • 麻花星空影视传媒制作公司网站美食网站网站建设定位
  • 网站的切图是谁来做学会网站 建设
  • 交通局网站建设方案答辩ppt模板免费下载 素材
  • 个人摄影网站推介网手机版
  • 有哪些免费的视频网站网站开发和竞价
  • 学校网站如何做广州商城型网站建设
  • 微网站建设哪家便宜易优建站系统
  • 推荐做木工的视频网站毕业设计做的网站抄袭
  • 网站导航页面制作wordpress调用文章阅读量
  • app小程序网站开发品牌购物网站十大排名
  • 用wordpress做购物网站龙岩品牌设计
  • 网站开发是指wordpress系统在线升级
  • 网站建设运营的灵魂是什么意思页面跳转中
  • 家政服务网站源码重庆建网站企业有哪些
  • 怎样分析一个网站做的好坏重庆长寿网站设计公司哪家专业
  • 百度助手app下载苏州seo关键词优化排名
  • 17网站一起做 佛山诸城网站建设多少钱
  • 郑州网站建设培训学校泉州做网站设计公司
  • 西峡做网站深圳建筑工务署官网
  • 单县网站惠州seo计费
  • 万网网站建设 优帮云怎样用记事本做网站
  • 注册域名后网站建设百度指数的功能
  • 怎么做伪静态网站山西网站建设设计
  • 做小型企业网站多少钱衡阳市建设局网站
  • 金华专业网站建设公司网站建设空间和服务器方式
  • 自己做的网站在浏览器上显示不安全吗wordpress revolution slider
  • 西安网站建设推广优化搜索引擎营销
  • 互联网站备案管理工作方案 工信部注册深圳公司需要什么条件
  • 网站网站服务器网站建设 物流