公开标签 #Android开发
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {// 渐变透明度动画效果 mAlphaAnimation = new AlphaAnimation(0.1f, 1.0f); // 第一个参数fromAlpha 为动画开始时候透明度 // 第二个参数toAlpha 为动画结束时候透明度 // 注意:取值范围[0-1];[完全透明-完全不透明] mAlphaAn
如果手机状态栏为透明的,不设置或者设置fitsSystemWindows=false 在Android4.4以上的系统,如果控件增加了这个属性,系统自动为你的控件设置一个padding属性,该控件的其他所有padding属性失效,同时该属性的生效条件是只有在设置了透明状态栏(StatusBar)或者导航栏(NavigationBar)此属性才会生效。譬如有透明的状态栏,那么paddingTop就是状态栏的高度,如果有导航栏那么paddingBottom就是导航栏的高度。 透明状体栏时,fitsSyste
屏蔽多点触控,否则左滑时可以同时左滑多条item。 (app/res/values/styles.xml) <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:windowEnableSplitTouch" >false </item> <item name="android:splitMotionEvents" >false </item> </styl
Android View设置阴影 android:elevation="10dp" //或 android:translationZ="10dp" View.setElevation(20); //或 View.setTranslationZ(20);
补间动画,是指填补两个图形之间的变化,让第一个图形逐渐改变为第二个图形。Android中提供了很多补间动画的功能,包括位移、旋转、缩放、透明化等等。 对于位移补间动画,Android提供的位移补间动画类为:TranslateAnimation。Android还提供了很多特效类,我们今天只了解一下快速重复播放动画特效类CycleInterpolator。好了,看一下例子,如果我想让某个图片产生位移补间的动画效果,那么该如何实现呢? 可以先计算图片移动的距离范围,然后再设置位移补间动画的相应效果: View
Material Design 那独特的下划线文本框,想必大家都有印象。 2017 年以前长这样: 确实很多产品都借鉴了这道横线,尤其是登录页面: 不过真正那个标题的动态效果,却几乎没有哪家真正使用的,哪怕 Google 自己都用得少。 例如,这是 Gmail 里的截图: Material Design对文本框的研究 后来可能自己设计团队也觉得有问题,从 2016.11 到 2017.02 做了一个为期三个月的研究,期间一共完成涉及 158 人和 400 人的两次实验。 P.S. 这时间安排实名羡慕了…
正三角形的 triangle_up.xml 如下: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 正三角 --> <item> <rotate android:fromDegrees="45" android:pivotX="-40%" android:pivotY="80%"> <shape android:shape
在默认的NavigationView的使用中,点击菜单项是会标记选中状态(正如下图Gallery): 但有时我不需要这样的标记,比如点击跳转到无NavigationView的Activity。此时我们需要做的就是更改菜单的“选中效果”: 我们将处于menu资源文件夹中对应菜单的属性值<group android:checkableBehavior="single">更改为<group android:checkableBehavior="none">即可: 事实上这是属于菜单Menu范围的内容,而不是N
重点主要在于在每次触摸事件中计算和上次触摸事件的偏移值,然后滚动这个距离 看代码(代码没有考虑很多边缘情况,主要是为了体现滚动的主要实现,对意外情况的考虑需要自行实现): class HpScrollView(context: Context, attrs: AttributeSet): LinearLayout(context, attrs) { // 上一次触摸事件的y坐标 private var lastY = 0f override fun onTouchEvent(event: MotionE
取消加载 一般情况下,因为Glide有做生命周期感知,所以不会使用打取消加载的API。可以了解一下,示例代码: Glide.with(fragment).clear(imageView); 占位符(Placeholder) 占位符是当请求正在执行时被展示的Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置 error Drawable,则占位符将被持续展示。类似地,如果请求的url/model为