Android 基础控件
贺哎呦
这个作者很懒,什么都没留下…
展开
-
Android 不能在非主线程更新UI的原因
mThread是主线程,在应用程序启动的时候,被初始化。在访问UI的时候,ViewRoot会去检查那个线程访问UI,如果不是主线程,则会抛出异常。@Overridepublic void requestLayout() { if (!mHandlingLayoutInLayoutRequest) { checkThread(); mLayoutRequested = true; scheduleTraversals(); }}上面是原创 2022-01-20 15:14:53 · 1759 阅读 · 0 评论 -
Android 背景透明
<!--继承Theme.AppCompat.NoActionBar,不显示标题栏--> <style name="TransparentTheme" parent="Theme.AppCompat.NoActionBar"> <!--不设置activity进入和退出动画样式--> <item name="android:windowAnimationStyle">@null</item> &.原创 2022-01-20 15:07:15 · 1824 阅读 · 0 评论 -
Android 歌词界面实现(RecyclerView)
之前写过一篇歌词界面的实现方式,这次使用RecyclerView实现首先保证每次滚动都保持在页面居中位置这里使用的是layoutManager.smoothScrollToPosition的方法,所以重写的下面这个类;public class CenterLayoutManager extends LinearLayoutManager { public CenterLayoutManager(Context context) { super(context); }原创 2022-01-20 14:54:47 · 2244 阅读 · 0 评论 -
Android 歌词界面实现(继承Scrollview)
自定义的歌词界面,实现了播放歌词高亮,滑动歌词高亮,歌词常态高亮。希望对大家有所帮助。同时也希望各路大神提出不足之处。1.歌词界面View代码注释很详细,详情看代码。这里面很多属性可以封装,这里暂时不做处理,后面有时间会重新封装。喜欢的同学可以自己进行封装public class LrcView extends ScrollView { private static final String TAG = "LrcView"; private LinearLayout mRootVie原创 2021-05-18 15:53:44 · 1105 阅读 · 0 评论 -
TextView部分字体颜色高亮
开发中会遇到一种情况,TextView设置文本时,其中一些字体颜色要区分其他文本颜色。例如“我爱中国,我是中华儿女我骄傲!”,要求中国两字颜色为红色。这个时候可以使用下方这个方法。 /** *Text box keyword highlight. * * @param color 高亮的颜色 * @param text 文本 * @param keyword 高亮的关键字 * @return SpannableString text是直接可以s原创 2021-10-12 17:21:24 · 426 阅读 · 0 评论 -
ImageView 使用小技巧
有时候会遇到一些需求,需要两张图片叠加起来实现UI,很多人第一思路是两个View叠加一起,这样可以实现,但是增加了View的层级,我们也可以使用ImageView满足这个需求,代码如下:1.设置background,ImageView是集成View的<ImageView android:layout_width="100dp" android:layout_height="100dp" android:background="@color/color原创 2021-08-06 11:19:20 · 359 阅读 · 0 评论 -
Fragment基类
Fragment基类适用范围:1.MVVM结构2.Fragment与Activity共用一个ViewModelpublic abstract class BaseFragment<M extends ViewModel, V extends ViewDataBinding> extends Fragment { protected V mBinding; protected M mViewModel; protected FragmentActivity mCo原创 2021-08-05 15:23:02 · 152 阅读 · 0 评论 -
RecyclerView自带的滚动条
Android RecyclerView是自带滚动条的,用法如下(RecyclerView的布局省略):1.创建RecyclerView的style:<style name="recy_vertical_style"> <!--滚动条宽度--> <item name="android:scrollbarSize">15dp</item> <!--滚动条方向--> <item原创 2021-04-12 10:45:43 · 2910 阅读 · 1 评论 -
ProgressBar:替换原生的样式
替换原生ProgressBar的样式,有两种方法,一种是替换图片,一种是自定义颜色。1.替换图片1.在progressBar设定此属性indeterminateDrawable,名字定义自取。这里取名progressbarandroid:indeterminateDrawable="@drawable/progressbar"2.在drawable中设置progress资源:<?xml version="1.0" encoding="utf-8"?><layer-list x原创 2021-04-12 11:11:59 · 395 阅读 · 0 评论 -
Android 文本编辑框一些坑
1.不希望页面被其他事物压缩,在清单文件中设置(例如键盘):主Activity: android: windowSoftInputMode=“adjustNothing”2.文本编辑框的监听器:TextWatcher textWatcher = new TextWatcher() {@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) { }原创 2021-04-12 10:56:51 · 112 阅读 · 0 评论 -
TextView 跑马灯效果实现
属性1.android:singleLine:内容单行显示2.android :focusable:是否可以获取焦点;3.android: focusableInTouchMode:在触摸模式下是否可以聚焦4.android:ellipsize:在哪里省略文本5.android:marqueeRepeatLimit:字母动画重复的次数;焦点上面的属性全部设置后,发现并不能实现跑马灯效果,原因是TextView没有获取焦点。1.自定义View继承TextView重写 isFocused,让其原创 2021-05-23 14:37:25 · 156 阅读 · 2 评论