概述
1.android:supportsRtl="true”
指支持从右向左布局support right-to-left (RTL) layouts 是API17即Android4.2以后才有,之前是不支持该属性。当设置-开发人员选项-强制使用从右到左的布局方向就能看到效果。
2.xmlns
是xml namespace的缩写,C++中的namespace和Java中的packagename,是为了解决(如类名、接口名等)命名冲突。因为xml中标签不是预定义,所以会遇到命名冲突问题,而HTML中是预定义。
2.1 XML 命名空间定义语法为xmlns:namespace-prefix="namespaceURI",一共分为三个部分:
xmlns:声明命名空间的保留字,其实就是XML中元素的一个属性;
namespace-prefix:命名空间的前缀,这个前缀与某个命名空间相关联;
namespaceURI:命名空间的唯一标识符,一般就是一个URI引用
2.2常见的xmlns有3种:
xmlns:android="http://schemas.android.com/apk/res/android" //命名空间andeoid用于Android 系统定义的一些属性
xmlns:tools="http://schemas.android.com/tools" //命名空间tools用于记录,定义为IDE提供相关信息的一些属性。当应用打包时会将这部分信息过滤掉,不增加应用包大小
xmlns:app="http://schemas.android.com/apk/res-auto” //命名空间app用于定义自定义的一些属性
3.升级Android Studio,Refreshing卡住问题:
升级Android Studio,gradle会相应升级,当前项目会重建,本质是按照gradle.wrapper.properties里distributionUrl的地址去下载gradle文件
解决办法:把这个地址拷贝下来去下载好该gradle对应版本的zip文件,然后放到gradle文件目录下,再重启Android Studio此时安卓会检查该目录下有这个zip文件,会直接解压。
4.include
一个layout中引用另一个layout的布局,适合布局复杂,不同界面共用布局的app中,将多界面共用布局抽取出来用include标签引用,能降低layout复杂度,且布局重用(布局有改动时????️改一个地方即可)如在activiy_main.xml里
4.1. include和其它组件标签(RelativeLayout、LinearLayout、TextView等)一样,都可以使用layout属性来设置布局文件的宽高和位置,但需要注意的是:必须要复写android:layout_width和android:layout_height属性才能使用其它属性(比如:android:layout_grivity、android:layout_align…、android:id等),这样可以避免include引用layout中的子组件属性影响到include的布局效果。
4.2.建议将给include标签调用布局设置宽高、位置、ID等工作放在调用布局的根标签中,而include标签里只写一句 如在activity_main.xml文件里<include layout="@layout/content_main" />
这样可以避免给include标签设置属性不当造成的各种问题(之前遇到过给include标签设置android:id属性后,程序实例化子布局中组件失败的现象)
5.帧布局FrameLayout 表格布局TableLayout 网格布局GridLayout
6.常用控件
6.1. Android中视图的继承关系:
ProcessBar、TextView、ImageView、ViewGroup、SurfaceView继承自View;
EditText和Button继承自TextView;ImageButton继承自ImageView; FrameLayout、RelativeLayout、LinearLayout、AdapterView继承自ViewGroup;
ComposeButton继承自Button; AbsListView继承自AdapterView
RadioButton、Switch、CheckBox继承自ComposeButton; ListView、GridView继承自AbsListView
6.2. View的通有属性:
id(控件、对象标识)@+id/创建、@id/引用、@android:id/引用系统控件;
layout_width(宽:x轴)layout_height(高:y轴)match_parent匹配父元素、wrap_content匹配内容、指定数值多少dp
elevation(海拔:z轴,Android5质感设计中引入)
gravity(内容、子元素在视图中停靠位置)left、right、top、bottom、center_horizontal、center_vertical……right|bottom、bottom!center
layout_gravity视图在布局中的停靠位置
Padding视图的内边距 单位sp
layout_margin外边距 单位sp
visibility可见性visible、invisible、gone
6.3. 按用途分类:
文本控件TextView EditText
按钮控件 Button ImageButton 单选与复选按钮CheckBox RadioButton
状态开关 ToggleButton
图片控件 ImageView
时钟控件AnalogClock DigitalClock
日期与时间选择控件DatePicker TimePicker
6.3.1. TextView
text文本内容:字符串 、@string/字符串资源
textSize字号 单位sp: 默认14sp
textColor: @android:color/系统颜色、@color/自定义颜色、#argb或#rgb
autoLink文本链接方式: email、phone、web、map、all
linksClickable链接是否可点击
minLine最小行数
maxLine最大行数
singleLine是否单行
ellipsize省略文字start、middle、end、marquee跑马灯
hint 当显示内容为空时,可设置占位文字如“请输入数字!”
6.3.2. EditText
text文本内容
maxLength最大输入长度
hint 提示信息:字符串或字符串资源
selectAllOnFocus是否选中文本
inputType软键盘类型 phone 、textEmailAddress、number、texturl、textPassword、numberPassword、textMultiLine
digits允许输入的字符 如“1234567890.+-*/%n()”
imeOptions输入法选项
drawableLeft/Right/Top/Bottom设置图标:上下左右
drawablePadding与图标的边距
editable是否可编辑
android:numeric="" 数字框。Integer正整数, signed整数(可带负号), decimal浮点数
password="" True为密码框、phoneNumber=""True为电话框
6.3.2. Button与ImageButton
findViewById 根据id得到layout中声明的Button的引用,setOnClickListerner添加监听,在监听器中用v.eauals(View)判断哪个按钮被按下进行分别处理
ImageButton 与Button之间的最大区别在于ImageButton中没有text属性 可以通过android:src或setImageResource(int)来设置图片
6.3.3. ImageView
layout_width(宽:x轴)layout_height(高:y轴)
src图片资源@drawable项目资源 @android:drawable/系统资源
scaleType伸缩类型:matrix左上角起始的矩形区域,会裁剪;center按原尺寸,居中显示,会裁剪;centerCrop伸缩宽高匹配控件,居中显示,会裁剪;centerInside原图或缩小匹配控件居中显示,不裁剪;fitXY匹配控件宽高,会变形,不裁剪,填满会失真;fitStart伸缩宽高匹配控件,在顶部或左侧显示,不裁剪;fitEnd伸缩宽高匹配控件,在底部或右侧显示,不裁剪;fitCenter伸缩宽高匹配控件,在中间显示,不裁剪,不一定填满不失真;
contentDescription内容描述
background控件背景色
maxHeight最大高度 maxWidth最大宽度
adjustViewBounds是否需要ImageView调整自己的边界,保证图片的显示比例
常见方法:setAlpha(Int)透明度、setImageBitmap显示内容为Bitmap对象、setImageDrawable内容Drawable类型、setImageUrl、setSelected选择状态、setImageResource(Int)指定id资源
6.3.4. RadioButton和CheckBox
CheckBox复选按钮 isChecked()检查是否被选中
7.Shift+Ctrl+F全局搜索突然不起作用
提示Noting Found, Check search scope or try search options 退出全局搜索焦点放在这个面板上按Esc
现状:没用Filter 没勾选File mask 切换InProject Module Directory Scope都一样
可能导致原因:按提示更新了个插件导致的?
解决:Android Studio->File->Invalidate caches/restart在弹窗中选invalidate and restart ” 即可
最后
以上就是粗心抽屉为你收集整理的12.16 Android常见标签 UI控件1.android:supportsRtl="true”2.xmlns3.升级Android Studio,Refreshing卡住问题:4.include6.常用控件的全部内容,希望文章能够帮你解决12.16 Android常见标签 UI控件1.android:supportsRtl="true”2.xmlns3.升级Android Studio,Refreshing卡住问题:4.include6.常用控件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复