• 2024-11-05Android高级进阶之路【二】十分钟彻底弄明白 View 事件分发机制
    前言Android事件分发机制是Android开发者必须了解的基础网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的本文秉着“结论
  • 2024-11-04Android的自定义View和自定义ViewGroup
    Android自定义视图(View)和视图组(ViewGroup)详解在Android开发中,有时候我们需要创建一些标准控件无法满足需求的自定义视图(View)和视图组(ViewGroup)。本文将详细介绍如何创建自定义视图和视图组,包括构造方法、自定义属性、绘制逻辑、测量逻辑、布局逻辑和设置布局参数等内容。1.
  • 2024-10-12了解Android中的事件分发机制
    Android中的事件分发机制详解在Android开发中,事件分发机制是处理用户输入事件(如触摸、点击、滑动等)的核心部分。深入理解这一机制对于开发者来说至关重要,它有助于我们更好地处理用户输入,提升应用的交互体验。以下是对Android事件分发机制的详细解释,涵盖了事件的产生、传递与拦
  • 2024-08-03Android开发 - Presenter抽象类解析
    Presenter是什么职责:Presenter的主要职责是管理视图(通常是用户界面组件)的显示和行为它不处理数据的逻辑,而是专注于如何展示数据在Leanback库中的作用:Leanback库是为AndroidTV设计的一个库,提供了一些特殊的UI组件,比如BrowseFragment。Presenter在L
  • 2024-07-23Android开发 - onMeasure、onLayout和onDraw方法解析
    onLayout、onMeasure和onDraw方法介绍onMeasure(intwidthMeasureSpec,intheightMeasureSpec)onMeasure方法用于测量View的大小。在自定义View中,我们需要重写这个方法,根据自定义View.xml视图的宽高测量模式(MeasureSpec)来计算并设置自定义View的宽高MeasureSpec:测量规范,以
  • 2024-07-23Android开发 - ViewGroup解析与自定义
    ViewGroup解析ViewGroup是一个特殊的View,可以包含其他视图(称为子视图)。而ViewGroup是View的子类,所以ViewGroup可以当成普通的UI组件使用。ViewGroup是布局和视图容器的基类,该类还定义了ViewGroup.LayoutParams用作布局参数基类的类由于ViewGroup的直接子类和间接子类比较
  • 2024-07-23Android开发 - LayoutParams解析
    LayoutParams翻译过来就是布局参数,子View通过LayoutParams告诉父容器(ViewGroup)应该如何放置自己。从这个定义中也可以看出来LayoutParams与ViewGroup是息息相关的,因此脱离ViewGroup谈LayoutParams是没有意义的。事实上,每个ViewGroup的子类都有自己对应的LayoutParams类,典型的如L
  • 2024-07-20Android开发 - inflate方法与创建视图解析
    简介在Android开发过程中,很多地方都不可避免的使用到inflate方法,如在给Fragment进行CreateView(创建视图)时,我们通常是inflater.inflate(R.layout.xxx,container,false)来调用inflate方法的,不难发现,inflate方法的作用是将一个xml布局文件变成一个view对象。注意事项
  • 2024-06-05android view 扩展方法
    importandroid.view.Viewimportandroid.view.ViewGroupimportandroid.view.ViewGroup.MarginLayoutParamsimportandroid.view.ViewTreeObserverimportandroidx.core.view.marginBottomimportandroidx.core.view.marginLeftimportandroidx.core.view.marginRight
  • 2024-06-04View->Bitmap缩放到自定义ViewGroup的任意区域(RectF方式绘制Bitmap)
    XML文件<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent&quo
  • 2024-03-113.11
    今天是学习开发Androidstudio 的第一天  随说明天就要验收接入数据库什么玩意的 视图层次:由View和ViewGroup组成。在创建UI时,开发人员不会真正去创建View或者ViewGroup,而是直接使用Android所提供的具有不同功能的控件,因此通常是看不到View或ViewGroup。View是Android
  • 2024-02-20Android 《ViewPager 实现引导页》
    布局文件activity_launch_simple.xml<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xm
  • 2023-12-22Android创建引导时的镂空View漏空view
     importandroid.graphics.RectFimportandroid.view.Viewimportandroid.view.ViewGroupobjectMyGuideUtil{/***@baseView在哪个view基础上进行镂空*/funguideMain(baseView:View){vallocation=IntArray(2)baseView.ge
  • 2023-12-17安卓之各组件的LayoutParams分析
    文章摘要在Android开发中,LayoutParams是一个非常重要的概念,它用于描述View在其父容器中的布局行为。不同的ViewGroup有不同的LayoutParams子类,例如LinearLayout.LayoutParams、RelativeLayout.LayoutParams等。本文将分析各组件的LayoutParams获取方式,区别,并附上示例代码。正文View
  • 2023-12-13安卓之各组件的LayoutParams分析
    文章摘要     在Android开发中,LayoutParams是一个非常重要的概念,它用于描述View在其父容器中的布局行为。不同的ViewGroup有不同的LayoutParams子类,例如LinearLayout.LayoutParams、RelativeLayout.LayoutParams等。本文将分析各组件的LayoutParams获取方式,区别,并附上示
  • 2023-09-27Android Activity setContentView流程解析
    ActivitysetContentView流程解析参考图解:自主生码.jpg1.当MainActivity直接继承自Activity时此时会执行Activity类的setContentView方法:publicvoidsetContentView(@LayoutResintlayoutResID){getWindow().setContentView(layoutResID);initWindowDecorActi
  • 2023-06-22Android:大厂技术面试过不了怎么办?别急!这些知识体系让你的面试稳如泰山!
    前言年年寒冬,年年也挡不住一个安卓程序员追求大厂的决心。想要进入大厂,我们需要掌握哪些知识点呢?这里,我为大家梳理了一个整体的知识架构。整体包括Java、Android、算法、计算机基础等等,相应的知识点的面试题都整理出来了。希望大家阅读之后,能帮助大家完善与整理自己的知识体系。祝
  • 2023-06-22【Android】如何实现同一个布局保证高度不变,使用不同高度的背景
    背景预实现一个切换tab,实现选中与未选中的背景切换,特别之处在于选中背景图和未选中背景图高度不相同,切换之后需要在java代码中动态设置LayoutParams改变高度。预期效果当前问题点选中背景为.9图,未选中背景为xml中通过shape实现。将当前ViewGroup设置为选中状态的固定高度选中效果正
  • 2023-04-30android异常:Can not p…
    本人某个android项目开发阶段一直运行良好,直到上线前夕,在某款跑着android4.03系统的手机运行却报出一下异常,导致forceclose:java.lang.IllegalStateException:CannotperformthisactionafteronSaveInstance!首先得了解一下我那项目的一些基本情况,UI结构是TabActivity包含着5
  • 2023-04-21Android事件分发-基础原理和场景分析
    作者:京东零售 郭旭锋1为什么需要事件分发和其他平台类似,Android中View的布局是一个树形结构,各个ViewGroup和View是按树形结构嵌套布局的,从而会出现用户触摸的位置坐标可能会落在多个View的范围内,这样就不知道哪个View来响应这个事件,为了解决这一问题,就出现了事件分发
  • 2023-04-16Android深入学习之LayoutInflater类和ViewBinding
    在build.gradle(Module)中添加viewBinding元素后,Android会自动给模块中的每个XML布局文件生成一个相应的Binding类,该Binding类名称为XML布局文件驼峰式大写+Binding后缀。以如下所示的activity_welcome.xml文件为例,对应的ActivityWelcomeBinding.java的源代码如下所示。<?xmlv
  • 2023-04-04Android 手把手教您自定义ViewGroup(一)
    本文出自:【张鸿洋的博客】最近由于工作的变动,导致的博客的更新计划有点被打乱,希望可以尽快脉动回来~今天给大家带来一篇自定义ViewGroup的教程,说白了,就是教大家如何自定义ViewGroup,如果你对自定义ViewGroup还不是很了解,或者正想学习如何自定义,那么你可以好好看看这篇博客。1、
  • 2023-03-25日报34
    在Item布局的根节点添加上述属性,android:descendantFocusability="blocksDescendants" 即可,另外该属性有三个可供选择的值:beforeDescendants:viewgroup会优先其子类控件
  • 2023-03-253.25学习总结
    如题,在Item布局的根节点添加上述属性,android:descendantFocusability="blocksDescendants" 即可,另外该属性有三个可供选择的值:beforeDescendants:viewgroup会优先其子类
  • 2023-03-23Android解决RecyclerView中的item显示不全方案
    最近的项目中实现订单确定页面。需要使用ScrollView嵌套RecyclerView,当RecyclerView中的item数量比较多时,就会出现item只显示一部分数据,并没有将用户勾选的商品数量全部显