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

wordpress 带数据怀化 优化生育政策

wordpress 带数据,怀化 优化生育政策,网站标题更改后要多久才能收录,百度商标注册查询1.前言 在14.0的系统rom产品定制化开发中#xff0c;在进行launcher3的定制化中#xff0c;在双层改为单层的开发中#xff0c;在原生的分页 是横线#xff0c;而为了美观就采用了系统原来的另外一种分页方式#xff0c;就是圆点比较美观#xff0c;接下来就来分析下相关…1.前言 在14.0的系统rom产品定制化开发中在进行launcher3的定制化中在双层改为单层的开发中在原生的分页 是横线而为了美观就采用了系统原来的另外一种分页方式就是圆点比较美观接下来就来分析下相关的实现然后实现其功能 2.Launcher3定制化之桌面分页横线改成圆点显示功能实现的核心类 packages/apps/Launcher3/res/layout/launcher.xmlpackages/apps/Launcher3/src/com/android/launcher3/pageindicators/PageIndicatorDots.java 3.Launcher3定制化之桌面分页横线改成圆点显示功能实现的核心功能分析和实现 在Launcher3中的核心布局中最核心的就是workspace hotseat folder等核心部件中在 Launcher3中的核心布局的相关控件就是在launcher.xml中这个Launcher主页面中显示的这里显示Launcher3桌面的核心控件 DragLayer Workspace WorkspacePageIndicatorLine drop_target_bar hotseat等主要控件的布局 在这里面WorkspacePageIndicatorLine就是所谓的分页横线控件而PageIndicatorDots.java就是 Launcher3的另外一种分页圆点显示控件所以接下来分析下launcher.xml的相关源码 3.1 launcher.xml中相关部件源码分析 在实现Launcher3定制化之桌面分页横线改成圆点显示功能实现的核心功能中通过上述的分析得知 在launcher.xml中的相关源码中这里就是关于桌面布局的核心布局文件接下来看下相关源码修改 com.android.launcher3.LauncherRootViewxmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:launcherhttp://schemas.android.com/apk/res-autoandroid:idid/launcherandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:fitsSystemWindowstruecom.android.launcher3.dragndrop.DragLayerandroid:idid/drag_layerandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:clipChildrenfalseandroid:clipToPaddingfalseandroid:importantForAccessibilitynocom.android.launcher3.views.AccessibilityActionsViewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:contentDescriptionstring/home_screen/!-- The workspace contains 5 screens of cells --!-- DO NOT CHANGE THE ID --com.android.launcher3.Workspaceandroid:idid/workspaceandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_gravitycenterandroid:themestyle/HomeScreenElementThemelauncher:pageIndicatorid/page_indicator /!-- DO NOT CHANGE THE ID --includeandroid:idid/hotseatlayoutlayout/hotseat /- com.sprd.ext.pageindicators.WorkspacePageIndicatorLine com.android.launcher3.pageindicators.PageIndicatorDotsandroid:idid/page_indicatorandroid:layout_widthmatch_parentandroid:layout_heightdimen/workspace_page_indicator_heightandroid:layout_gravitybottom|center_horizontalandroid:themestyle/HomeScreenElementTheme /includeandroid:idid/drop_target_barlayoutlayout/drop_target_bar /com.android.launcher3.views.ScrimViewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:idid/scrim_viewandroid:backgroundandroid:color/transparent /includeandroid:idid/apps_viewlayoutlayout/all_appsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent /includeandroid:idid/overview_panellayoutlayout/overview_panel //com.android.launcher3.dragndrop.DragLayer/com.android.launcher3.LauncherRootView 通过上述的Launcher3中的核心主屏幕部件launcher.xml中的相关源码分析得知在这里 Launcher.xml中的布局文件中com.android.launcher3.pageindicators.WorkspacePageIndicator 就是Launcher3主屏幕的workspaces的布局分页横线控件的显示分页的所以需要改成 圆点分页控件就需要修改为com.android.launcher3.pageindicators.PageIndicatorDots 这样通过上述的修改就完成了修改为Launcher3布局分页圆点显示的功能的修改接下来 看下其他方面关于横线替换成圆点的相关修改接下来分析下PageIndicatorDots.java 中的相关源码实现 3.2 PageIndicatorDots中关于实现圆点绘制布局的相关源码的修改 通过上述的Launcher3中的核心控件的分析 和以前在10.0到12.0的相关修改横线分页到 圆点分页都是需要实现 setInsets(Rect insets)等相关方法的通过这些的修改来 完成对圆点分页的适配工作接下来具体分析下PageIndicatorDots中的相关源码布局 通过在Insettable中的接口实现 setInsets(Rect insets)来在这个类里面添加具体的方法 import com.android.launcher3.R;import com.android.launcher3.Utilities;import com.android.launcher3.util.Themes;-import com.android.launcher3.Launcher;import android.graphics.Rect;import com.android.launcher3.DeviceProfile;import android.view.Gravity;import android.widget.FrameLayout;import com.android.launcher3.Insettable;-public class PageIndicatorDots extends View implements PageIndicator {public class PageIndicatorDots extends View implements Insettable,PageIndicator {private float mCurrentPosition;private float mFinalPosition;private ObjectAnimator mAnimator;- private Launcher mLauncher;private float[] mEntryAnimationRadiusFactors;public PageIndicatorDots(Context context) { -114,7 119,7 public class PageIndicatorDots extends View implements PageIndicator {mCirclePaint.setColor(Themes.getAttrColor(context, R.attr.folderPaginationColor));mDotRadius getResources().getDimension(R.dimen.page_indicator_dot_size) / 2;setOutlineProvider(new MyOutlineProver());- mLauncher Launcher.getLauncher(context);mIsRtl Utilities.isRtl(getResources());} Launcher3定制化之桌面分页横线改成圆点显示功能实现的核心功能中通过上述的分析得知 在上述的PageIndicatorDots方法中通过实现Insettable的接口接下来就可以在 这里添加setInsets(Rect insets)的实现通过需要实例化Launcher的实现在实现 setInsets(Rect insets)的时候用到相关的实现具体实现如下 Override public void setInsets(Rect insets) { DeviceProfile grid mLauncher.getDeviceProfile(); FrameLayout.LayoutParams lp (FrameLayout.LayoutParams) getLayoutParams(); if (grid.isVerticalBarLayout()) { Rect padding grid.workspacePadding; lp.leftMargin padding.left grid.workspaceCellPaddingXPx; lp.rightMargin padding.right grid.workspaceCellPaddingXPx; lp.bottomMargin padding.bottom; } else { lp.leftMargin lp.rightMargin 0; lp.gravity Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM; lp.bottomMargin grid.hotseatBarSizePx insets.bottom; } setLayoutParams(lp); } 在通过在使用的过程中会发现在计算分页数量的时候这里会出现异常所以需要在 异常的地方做修改排除分页滚动为0的情况具体分析实现如下 Overridepublic void setScroll(int currentScroll, int totalScroll) {if (SHOW_DOT_PAGINATION.get() mActivePage ! 0 currentScroll 0) {CURRENT_POSITION.set(this, (float) mActivePage);return;}if (mNumPages 1) {return;}if (mShouldAutoHide) {animatePaginationToAlpha(VISIBLE_ALPHA);}if (mIsRtl) {currentScroll totalScroll - currentScroll;}int scrollPerPage totalScroll / (mNumPages - 1); if(scrollPerPage 0)return;int pageToLeft currentScroll / scrollPerPage;int pageToLeftScroll pageToLeft * scrollPerPage;int pageToRightScroll pageToLeftScroll scrollPerPage; -336,4 342,22 public class PageIndicatorDots extends View implements PageIndicator {}}} 通过上面几部分的修改在Launcher3中就完美实现了在双层改成单层的时候关于分页横线 修改为分页圆点的核心功能的实现最终就完成了功能的实现
http://www.zqtcl.cn/news/728837/

相关文章:

  • 旅游网站开发团队四川住房和城乡建设网站
  • 网站框架设计商城网站制作需要多少费用
  • 网站建设哪个公司个人网站做哪种能赚钱
  • 福建建设人才与科技发展中心seo导航站
  • 修文县生态文明建设局网站郑州制作网站哪家好
  • 泉州网站优化排名东莞长安做网站公司
  • 网站制作公司 顺的有口碑的赣州网站建设
  • 成都网站设计制作苏州新闻
  • 黑色网站设计iis 网站 红
  • 专业做家居的网站佛山做网站永网
  • 医疗网站建设讯息企业门户网站建设思路
  • 四川建设安全监督管理局网站网站传送门怎么做
  • 哪家网站做推广好优化师和运营区别
  • 鹰潭网站建设公司南宁行业平台开发公司
  • 织梦如何仿手机网站源码奉贤区专业建网站
  • 上海网站建设接单wordpress htaccess 404
  • 长春网站优化指导网站怎样做301跳转
  • 做网站域名是什么意思临沧网站开发
  • 怎么在网站上做网页专业图库网站 西安
  • 龙南建设局网站wordpress 购物导航网站
  • 做数据分析好看的网站自己做背景的网站
  • 做纸棋的网站制作什么网站做毕业设计
  • 上海易雅达网站建设公司广元网站开发
  • 网站备案注销北京优化健康宝
  • 网站地图怎么做XML深圳公共资源交易中心
  • 高碑店做网站的公司湛江专业建站推荐
  • 中国建设银行官网的网站首页c2c电子商务网站建设栏目结构图
  • 做网站的软件图标上海建站外贸
  • 保定网站建设推广成都移动端网站建设
  • 服务平台型网站做那个网站比较好