前言 常用高度 名称 值 状态栏高度 25dp ActionBar高度 48dp logo 名称 值 RATIO drawable-xxxhdpi 192×1...
webkit浏览器下滚动条可以自定义,其中resize区域大小就是scrollbar的大小,于是,我们可以将整个拉伸区域变成和容器一样高。...resize-bar::-webkit-scrollbar { width: 200px; height: 200px; } 此时,拉伸区域就很大了: 接下来做的事情就是把这个拖拽区域藏在某一栏布局的后面...,然后透出部分宽度可以用来拖拽,如下图所示: 最后,我们的左右分栏采用自适应布局就能实现我们想要的效果。...webkit浏览器下滚动条可以自定义,其中resize区域大小就是scrollbar的大小,于是,我们可以将整个拉伸区域变成和容器一样高。
解决方法 在 activity 内重写getResources方法(Fragment中的界面也会生效),如此在 xml 和 java 代码使用 sp 字体单位都是正常的。...一般在BaseActivity内重写。...网上很多地方写着使用config.setToDefaults();,实际上除了影响 app 内字体大小,还会影响很多地方的属性值。
它包括相同的 ProGuard 规则,但还包括其他在字节码一级(方法内和方法间)执行分析的优化,以进一步减小 APK 大小和帮助提高其运行速度。...文件: -dontusemixedcaseclassnames: 表示混淆时不使用大小写混淆类名。...让我们看一下 Anti-Theft 在没有经过优化之前的截图。 image.png 从 Apk Analyser 的输出来看,应用的原大小是 3.1MB。...res —— 这个文件夹包含了所有在 res 文件夹下的文件。大部分情况下它包含所有图片,图标和源文件,菜单文件和布局。...七、AndroidStudio使用lint清除无用的资源文件 在使用AndroidStudio进行App开发的时候,我们经常会在项目中引用多种资源文件,包括图片,布局文件,常量引用定义。
它包括相同的 ProGuard 规则,但还包括其他在字节码一级(方法内和方法间)执行分析的优化,以进一步减小 APK 大小和帮助提高其运行速度。...文件: -dontusemixedcaseclassnames: 表示混淆时不使用大小写混淆类名。...让我们看一下 Anti-Theft 在没有经过优化之前的截图。 ? 从 Apk Analyser 的输出来看,应用的原大小是 3.1MB。经过 Play 商店的压缩,大致是 2.5MB。...res —— 这个文件夹包含了所有在 res 文件夹下的文件。大部分情况下它包含所有图片,图标和源文件,菜单文件和布局。 ?...七、AndroidStudio使用lint清除无用的资源文件 在使用AndroidStudio进行App开发的时候,我们经常会在项目中引用多种资源文件,包括图片,布局文件,常量引用定义。
02 请简述Android五种布局 最常用的布局方式为Absolute Layout、Relative Layout、Linear Layout、FrameLayout、TableLayout。...其中Linear Layout和Relative Layout是最常用的方式,他们可以通过在xml配置文件或者代码中进行布局。...1、Frame Layout是最简单的布局方式,放置的控件都只能罗列到左上角,控件会有重叠,不能进行复杂的布局。...05 SharedPreference可以存多少数据 Android中 SP 的底层是由Xml来实现的,操作SP的过程就是Xml的序列化和解析的过程。...同时序列化Xml是就是将内存中的数据写到Xml文件中,由于DVM 的内存是很有限的,因此单个SP文件不建议太大,具体多大是没有一个具体的要求的,但是我们知道DVM 堆内存也就是16M,因此数据大小肯定不能超过这个数字的
虽然传统布局也可以使用可视化界面拖动控件来搭建布局,但是因为不够灵活,大多数开发者还是会选择通过XML代码来搭建布局。...建立依赖 ConstraintLayout布局是Android Studio 2.2的新增功能,所以在建立依赖前需要将Android Studio更新至2.2版本或以上。...切换视图 点击菜单栏的中的Show Design、Show Blueprint和Show Design + Blueprint按钮可以对操作视图进行切换,如下图所示: ?...切换视图 添加约束 百闻不如一见,先来看看添加约束的操作,如下图所示: ?...除了居中,约束还可以设置控件两边到边界之间的距离比例,通过在右侧属性面板中,拖动水平和垂直方向的进度条来调整两边距离的比例。 ?
,来吧,看下图: 程序显示给用户看的就只有两个activity,两个视图(界面), 第一个图展示的是:主程序的activity 界面上只有一个按钮, 第二个图展示的是:城市列表,和 一个拼音列表..."#000000" 去除listview的拖动背景色 自定义listview的时候,当你不使用android:cacheColorHint=“#00000000”会出现下面选中一个空间黑色底色的情况,...1)、listview在拖动的时候背景图片消失变成黑色背景,等到拖动完毕我们自己的背景图片才显示出来 解决:在XML中加入 android:scrollingCache=”false” 或 android...默认选择时的黄色背景 解决:在java文件中使用listview.setSelector()方法, android:listSelector="#00000000"//这样写是透明的,也可加入Drawable...属性 自由控件已经超过了布局的大小就会滚动 这个布局的大小就是指一屏 内容长度要超出整屏的高度就能实现滑动有以下设置none(隐藏),horizontal(水平),vertical(垂直) 这里面涉及到一个效果的问题
1 前言 最近有一个项目,有一个主界面,界面上有很多控件或者有多个 fragment 组成,大小不一,而且由于用户需要,需要自由拖动和自由组合,形成用户自己需要的组合成的模样。...DragerViewLayout 本质上是一个相对布局,所以初始位置都可以自己按相对布局的方式来定义,然后用户手动拖动后,会自动记录每个子视图的位置,进行保存,等到重新加载后,会按照记录的位置进行布局。...所以第一个思路就是: 使用相对布局 使用相对布局,其实可以满足所有控件都在一个层级之内的,而且可以满足我们初始的任何样式的布局。况且相对布局是 Android 官方推荐使用的布局。...3.3 再次 再次,我们该如何把拖动的视图的位置,保存住呢?又该如何在重新打开应用的时候按照我们自己组合和重新排列的布局显示呢?...其实方法也一样很简单,那就是: 记住每个子控件拖拽后的位置,并保存,在 onLayout 方法中,读取记录的位置 在这里,我给每个视图和控件都增加了一个 tag ,在拖拽的时候根据 tag 知道拖拽的是哪个控件和视图
staggered :在多个View之间应用过渡效果时,指定是否应该依次进行过渡。可以设置为true或false。 autoTransition :指定是否在布局文件加载时自动开始过渡动画。...touchAnchorId :可以滑动并拖动的视图id(目标视图)。 touchAnchorSide :定义触摸点在目标视图中的位置。 top :触摸点位于目标视图上方。...motionTarget :定义应用此关键帧的运动目标,可以是一个视图或者一个运动场景。 framePosition :定义关键帧在动画中的位置。...可以是一个视图或者一个运动场景。 transitionEasing :定义关键帧的过渡缓动效果。可以使用 Android 系统中提供的各种缓动函数,比如 easeIn, easeOut 等。...motion:onCross="toggle" /> 效果图: 开关由关闭状态变为开启状态 ConstraintSet(类似于Constrainlayout) 用来设置视图在开始或者结束时各个控件的位置和大小等状态
先分析下我们的团战,主要分为三个场景: 后羿果断射大,射中在疯狂走位的亚瑟。 妲己和钟无艳同时在草丛蹲伏,看到后羿的精彩射箭,从草丛走出,准备大战。...,表示通过用户轻触控制动画,有点手势滑动的感觉 app:touchAnchorId,表示可以滑动并拖动的视图。...deltaRelative,相对于视图在整个运动序列过程中移动的距离,(0,0)为视图起始位置,(1,1)为结束位置。...x为横轴,y为纵轴 pathRelative,x轴方向为视图在路径范围内移动的方向,0位视图起始位置,1为结束位置(即x轴为起点和终点的连接线)。y轴垂直于x轴,正值为路径左侧,负值为右侧。...motion:percentWidth,表示视图相对大小,取值为0-1,0代表初始位置宽度,1代表结束位置宽度。这里为0就代表宽度到该位置还是和初始宽度一致。
context));//设置Footer refreshLayout.setRefreshContent(new View(context));//设置刷新Content(用于非xml布局代替...--srlHeaderTranslationViewId:指定下拉Header时偏移的视图Id--> <!...(默认false) srlDisableContentWhenLoading boolean 是否在加载的时候禁止内容的一切手势操作(默认false) srlFixedHeaderViewId id 指定固定顶部的视图...Id srlFixedFooterViewId id 指定固定底部的视图Id srlHeaderTranslationViewId id 指定下拉Header时偏移的视图Id srlFooterTranslationViewId...默认贝塞尔雷达) setRefreshFooter RefreshFooter 设置指定的Footer(默认球脉冲) setRefreshContent View 设置刷新Content(用于动态替换空布局
添加子视图元素: 在LinearLayout标签内部添加其他视图组件作为其子元素,例如TextView、Button等。根据需要可以使用不同的布局参数来控制子视图的大小和对齐方式。...设置布局属性: 可以通过在每个子视图的布局参数中设置不同的属性来控制子视图在LinearLayout中的位置和大小,例如android:layout_weight属性可以用来设置子视图的权重,实现按比例分配剩余空间...布局属性:通过在子视图的布局参数中设置不同的权重、对齐方式和填充方式,可以灵活控制每个子视图在LinearLayout中的位置和大小。...通过android:layout_gravity属性可以调整子视图在父容器内的对齐方式。...五 总结 使用LinearLayout可以实现简单的线性布局,适用于需要按照水平或垂直方向对子视图进行排列的场景。它的灵活性和易用性使得开发者能够快速构建各种布局样式。
这个手势通常表现为在触摸屏上的长按拖动或者非触摸屏上的单击并用鼠标拖动,最后在目标位置放下。...他们的用户常常需要使用分屏或多窗口模式来处理多任务的场景,而将数据在不同的 App 间拖放是再自然不过的体验和需求!...Android 平台原生已经支持从输入框控件 EditText 拖动文本,但我们强烈建议开发者实现用户从其他控件拖动数据的手势,支持的数据类型除了文本以外,还能包括图片、文件等任意类型。...使用起来很简单,将需要监听的视图包装进来并开始监听。框架会在拖动手势触发的时候回调过来,之后进行一些简单的配置即可。...基础系列教程: Android基础课程U-小结_哔哩哔哩_bilibili Android基础课程UI-布局_哔哩哔哩_bilibili Android基础课程UI-控件_哔哩哔哩_bilibili Android
LinearLayout 线性布局 LinearLayout 几个重要的 XML 属性 xml 属性 说明 android:id 为组件设置一个资源 id,然后在 Java 中可以通过 ...:gravity 设置布局管理器内组件的对齐方式,值可以是 top/button/left/right/center_vertical/fill_vertical......android:measureWithLargestChild 当属性设置为true时,所有带权重的子元素都会具有最大元素的最小尺寸 android:orientation 设置布局管理器内组件的排列方式...基本属性 XML 属性 说明 android:gravity 设置容器内组件的排序方式 android:ignoreGravity 如果设置改属性为 true,将忽略 android...SeekBar ( 拖动条 ) 控件 11.1 常用属性 SeekBar ( 拖动条 ) 控件一般用于音乐播放器或者视频播放器的音量控制或者播放进度控制 SeekBar 是 ProgressBar 的子类
timeZoneOffsetInMinutes数字型 在几分钟内时区偏移。 默认情况下,日期选择器将使用设备的时区。有了这个参数,才有可能迫使某个时区偏移。...——“interactive”,键盘被拖动交互式地摒弃并且与触摸同步移动;向上拖动取消了摒 弃。 ..." 3.6 容器 元素是与布局设计有特定关系的:内部的一切都不再使用flexbox布局而是使用文本布局。... • drawable-xhdpi (2x) • drawable-xxhdpi (3x) 如果您的asset文件丢失了一种分辨率,那么Android将采取下一个最好的分辨率并且为您调整它的大小...4.2 网络资源 在您进行编译的时候,许多您的应用程序中需要展示的图片都不能使用,或者你会想要通过加载一些动态图片来保持二进制大小在较低的状态。
工具的交互特征尺寸指示符图形在图像的左下角显示(如下所示)。 可以在图像中拖动指示符图形,以便根据图像中的字符调整其大小。...此外可以通过拖动尺寸调整拖动点工具(当鼠标悬停在指示符上时显示)来重新调整指示符的大小。...默认情况下,通过蓝色定位工具您可以指定要匹配的特征大小的绝对范围(以像素为单位)将匹配尺寸在搜索范围内的特征,不会匹配在此范围之外的特征。...布局模型可用于执行以下操作: 检查并确认一个或多个区域内是否存在特征。 验证该区域是否存在正确的特征,以及此区域中该特征的实例数。 为下游工具提供关注区 (ROI)。...②在ROI内当鼠标悬停在图像上时,鼠标光标将有一个十字线图标,用于放置蓝色工具的特征标签,单击特征即可标注。
前言 小伙伴们,在上文中我们介绍了Android视图控件——日历、日期、时间选择控件,本文我们继续盘点,介绍一下视图控件的SeekBar组件。...一.SeekBar基本介绍 SeekBar是Android平台上的一个UI组件,用于显示一个可滑动的滑块条,并允许用户通过拖动滑块来选择一个数值范围。...SeekBar可以在XML布局文件中定义并配置,也可以在Java代码中动态创建和设置属性。...在XML布局文件中添加SeekBar: <SeekBar android:id="@+id/seekBar" android:layout_width="match_parent"...SeekBar是一个常用且灵活的UI组件,在很多场景下可以用来实现用户选择数值的功能。根据具体需求,可以通过修改属性和监听器的回调方法来适应各种交互效果和业务逻辑。
编辑折点 用于“编辑折点”工具的键盘快捷键 键盘快捷键 操作 注释 T+悬停 显示捕捉容差范围内的折点。 在指针的当前捕捉容差范围内的折点处闪烁显示正方形。...视图。 > 转至下一视图。 1 当地图框处于活动状态时,可在布局上缩放和平移。 地图导航 可使用以下键盘快捷键在地图视图中导航。...B + 拖动 在 3D 场景中环视。 在 3D 场景中,按住 B 键同时单击并拖动,以转动照相机并从您单击的位置进行环视。 B + 方向键 从当前位置向周围环视。...V + 方向键围绕视图中心旋转。按 V 并按上箭头键、下箭头键、左箭头键或右箭头键来围绕视图中心旋转。B + 拖动在 3D 场景中环视。...视图 用于视图的键盘快捷键 键盘快捷键 操作 Ctrl+Shift+A 自动布局。 Ctrl+Shift+F 适应窗口大小。 Ctrl+ 加号 (+) 放大模型视图。
1ConstraintLayout基本界面 更新Android Studio 2.2之后,更新了布局设计器,同时,引人了ConstraintLayout,这一布局,旨在降低布局层级,其主要界面如下所示...这个界面主要分成下面几个部分: 左侧边栏,包括Palette组件库和Component Tree 中间是布局设计器,包括两部分,左边是视图预览,右边是布局约束 右侧边栏,上面是类似盒子模型的边界和大小布局设计器...在第一次引人ConstraintLayout的时候,Android Studio会自动去下载依赖,等他自动完成安装即可。...这个和PPT里面拖动布局的时候,会弹出对齐的基准线,然后帮你自动居中这些功能类似。实际测试下来,这个功能可以很方便的在拖动组件的时候,帮你写好约束,但有些精确的调整,还是需要手动去创建的。...11ConstraintLayout布局转换 通过Android Studio,我们可以很方便的把一个普通布局转化为ConstraintLayout,在布局设计器的左边栏下面的Component