Android UI

Android自定义滚动日期时间选择器

Android自定义滚动日期时间选择器

基本使用 private TextView mTvBirthday; private MyDatePicker mBirthdayPicker; private String today; @Override protected void onCreate(Bundle savedInstance

Joe.Ye Joe.Ye 2023-03-25
0 0 0
Activity recreate重建导致Fragment多次初始化问题探讨

Activity recreate重建导致Fragment多次初始化问题探讨

现象:Activity recreate重建导致Fragment多次初始化,甚至造成Fragment白屏 参考:http://www.apkfuns.com/fragmentactivity-recreate-cause-multiple-initialization/ 起因 我们先来看段代码(仅

Joe.Ye Joe.Ye 2023-03-25
0 0 0
Android RecycleView全部item倒计时的高效实现

Android RecycleView全部item倒计时的高效实现

需要使用全局的定时器,而不是每条item均设置定时器,而且在可见视图内定时刷新UI public void initTimer() { mTimer = new Timer(); TimerTask timerTask = new TimerTask() { @Ov

Joe.Ye Joe.Ye 2023-03-18
0 0 0
Android在全屏下ScrollView包裹EditText软键盘弹出后,ScrollView无法滚动

Android在全屏下ScrollView包裹EditText软键盘弹出后,ScrollView无法滚动

问题描述 在全屏下ScrollView包裹EditText软键盘弹出后,ScrollView无法滚动,设置adjustResize无效 解决方法 参考:https://stackoverflow.com/questions/21092888/windowsoftinputmode-adjustres

Joe.Ye Joe.Ye 2023-03-18
0 0 0
Android DialogFragment生命周期show->onCreateView

Android DialogFragment生命周期show->onCreateView

DialogFragment.show显示的生命周期是:先执行show()方法,再执行onCreateView()方法,若有如下操作: mActivityDialogFragment.show(((FragmentActivity) mActivity).getSupportFragmentMana

Joe.Ye Joe.Ye 2023-03-18
0 0 0
RecyclerView GridLayoutManager实现复杂的列数变化的布局

RecyclerView GridLayoutManager实现复杂的列数变化的布局

遇到复杂的不规则列(即有的行显示的列数多,有的行显示的列数少,并且每列显示的内容页不一样)。对于这种需求在RecyclerView出来之前的解决方案,要么就是ListView中嵌套GirdView,要么就直接使用ScrollView,勉强可以实现此效果,但是这两种实现都有非常大的缺陷,即都不能进行i

Joe.Ye Joe.Ye 2023-03-18
0 0 0
解决Android ViewPager不能响应onTouchListener的问题

解决Android ViewPager不能响应onTouchListener的问题

解决思路主要是复写ViewPager中的dispatchTouchEvent函数,在分发之前记录事件,具体代码如下: (1)拦截dispatchTouchEvent事件 @Override public boolean dispatchTouchEvent(MotionEvent ev) {

Joe.Ye Joe.Ye 2023-03-18
0 0 0
Android原生WebView截图(支持缩放)

Android原生WebView截图(支持缩放)

Android原生WebView截图,支持Android 5.0及以上,支持缩放 /** * 缩放图 * @param context * @param webView */ public static void captureScaleWebViewLollipop(final Cont

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android原生WebView截图

Android原生WebView截图

Android原生WebView截图,以Android 5.0为版本分界线,截图采用不同的处理方式。 初始化WebView自适应显示 /** * 自适应 * @param webView */ public static void initWebViewWithOverview(WebVie

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android中ViewPager+Fragment禁止预加载问题

Android中ViewPager+Fragment禁止预加载问题

使用ViewPager+Fragment组合加载数据,由于ViewPager的内部机制所限制,会默认至少预加载一个。但有时我们必须禁止预加载,比如第1个和第2个页面可以任意浏览,第3个页面需要登录才能浏览,此时会导致在切换到第2个页面时,便跳转到登录页面。 ViewPager.setOffscree

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android EditText添加android:imeOptions=”actionSearch”设置弹出的键盘中带有搜索按钮

Android EditText添加android:imeOptions=”actionSearch”设置弹出的键盘中带有搜索按钮

XML布局 android:imeOptions="actionSearch" android:singleLine="true" //必需,否则设置actionSearch不生效 <me.yezhou.lib.ui_widget.common.Th

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android布局UI优化

Android布局UI优化

卡顿罪魁祸首 UI卡顿就是Android在界面渲染时丢帧。 Android系统要求每一帧都要在 16ms 内绘制完成,在这个时间内界面就是流畅的(能够达到流畅的画面所需要的60fps) 丢帧的各种原因: layout 太过复杂,层次过多,UI 上有层叠太多的绘制单元,过度绘制 CPU 或者 GP

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android ObjectAnimator记录

Android ObjectAnimator记录

ObjectAnimator继承自ValueAnimator,所以ValueAnimator所能使用的方法,ObjectAnimator都可以使用,ObjectAnimator同时也重写了几个方法,比如:ofInt()、ofFloat()等。 基本使用 public static ObjectAni

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Fragment切换或回退时空白,RecyclerView提示 No adapter attached; skipping layout

Fragment切换或回退时空白,RecyclerView提示 No adapter attached; skipping layout

当Fragment包含RecyclerView时,首次加载Fragment页面可以正常加载RecyclerView。但是当切换到别的Fragment再回退时,或者二次加载Fragment时,加载不出页面,报错:No adapter attached; skipping layout。 解决:只要在o

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android TabLayout参数

Android TabLayout参数

列举Android Design库 TabLayout系统属性 设置未选中字体的颜色 app:tabTextColor="@color/colorPrimary" 设置选中字体的颜色 app:tabSelectedTextColor="@android:color/h

Joe.Ye Joe.Ye 2023-03-11
0 0 0
1 2 3