android UI控件小记
1、关于text和drawableTop之类的间距
1 android:drawablePadding="10dp"
2、EditText属性
android:phoneNumber="true"//数字键盘
android:numeric="integer"//数字键盘
android:singleLine="true"//值允许一行
android:maxLength="50" //字数限制
android:typeface="monospace" //设置字型。字形有:normal, sans, serif,monospace
android:imeOptions="flagNoExtractUi"
//使软键盘不全屏显示,只占用一部分屏幕
同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键
android:imeOptions="actionNone" //输入框右侧不带任何提示
android:imeOptions="actionGo" //右下角按键内容为'开始'
android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索
android:imeOptions="actionSend" //右下角按键内容为'发送'
android:imeOptions="actionNext" //右下角按键内容为'下一步'
android:imeOptions="actionDone" //右下角按键内容为'完成'
android:layout_below="@+id/map_poi"
输入法上顶控件时在AndroidManifest.xml里面加上:android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
3、用于RecyclerView的adapter刷新数据,只有把新的数据传到adapter里然后notifyDataSetChanged()就可以了,如果数据很多,当然也有针对单条的数据更改
1 public void refresh(List<Variety> list) { 2 mVarietyList = list; 3 notifyDataSetChanged();//刷新全部数据 4 //notifyItemInserted(1); 新添加一条 5 //notifyItemRemoved(1);删除一条 6 }
4、ImageView图片位置
http://www.cnblogs.com/pandapan/p/4614837.html
5、include,一个布局同时include两次同一个布局时,第二个include的控件的点击响应事件无效
1 Caused by: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.Button 2 3 报这个错时,看看include是否加了width,height
6、如果滑动里嵌套列表,事件冲突 ,如果列表只是用于显示,最简单的就是把列表控件的事件取消
mRecyclerView.setNestedScrollingEnabled(false);
7、SearchView使用,搜索后由展开到关闭(缩小)
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { //query:输入框内容 //设置两次setIconified是为了让searchView收缩 searchView.setIconified(true);//设置一次是清空内容 searchView.setIconified(true);//缩小 return false; } @Override public boolean onQueryTextChange(String newText) { return false; } });
8、RadioButton设置button 的左右位置
android:layoutDirection="rtl"//右 lrt-左
设置文字和button间距 直接设置paddingRight 或者paddingLeft
9、List拼音排序(汉字转拼音库 pinyin4j TinyPinyin)
Collections.sort(list, new Comparator<Bean>() { @Override public int compare(Bean o1, Bean o2) { return o1.getPinYin().compareTo(o2.getPinYin()); } });
10、RecycleView滑动到指定item到顶部
LinearSmoothScroller smoothScroller; smoothScroller = new LinearSmoothScroller(getActivity()){ @Override protected int getVerticalSnapPreference() { return LinearSmoothScroller.SNAP_TO_START; } }; smoothScroller.setTargetPosition(pos); recyclerView.getLayoutManager().startSmoothScroll(smoothScroller);
11.Tablayout 相关
字体大小控制
app:tabTextAppearance="@style/test" <style name="TabStyle8" parent="TextAppearance.Design.Tab"> <item name="android:textSize">16sp</item> </style>
tab下划线长短控制
颜色如果为黑色需要设置
app:tabIndicatorColor="#000000"
app:tabIndicator="@drawable/test" <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <item android:gravity="center"> <shape> <size android:height="2dp" android:width="30dp"/> <solid android:color="#ffffff" /> <corners android:radius="1dp" /> </shape> </item> </layer-list>
如果想要动态更改粗细或者颜色可以
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { setTabStyle(tab,Typeface.BOLD); } @Override public void onTabUnselected(TabLayout.Tab tab) { setTabStyle(tab,Typeface.NORMAL); } @Override public void onTabReselected(TabLayout.Tab tab) { } }); private void setTabStyle(TabLayout.Tab tab,int style){ String str = tab.getText().toString(); SpannableString spannableString = new SpannableString(str); StyleSpan styleSpan = new StyleSpan(style); spannableString.setSpan(styleSpan,0,str.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); tab.setText(spannableString); }
本文来自博客园,作者:西瓜皮不甜,转载请注明原文链接:https://www.cnblogs.com/Jieth/p/5160439.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!