通用属性
1.android:layout_mrgin 外边距
2.android:layout_padding 内边距,内部元素对于外部的边距,上下左右一样多,除非用paddingLeft,paddingRight,paddingTop,paddingBottom空出来。
3.android:garvity 内部元素的对齐方式
4.android:layout_weight 权重,是把剩余内容按照权重去分配,而不是全部的(有情况是已经有占用内容的view设置了layout_width,但是也给了weight,此时,weight分配的时候,是按整体减去width的分)
单位
1.在xml中,单位用dp,不用px,因为安卓屏幕碎片化严重,会有各种机型,各种分辨率,在每个机型上会长得不一样,所以用安卓提供的dp,会根据屏幕分辨率自动适配算出单位。
2.字体用sp。
LinearLayout
android:orientation=“vertical” 指定布局内控件排列方式为纵向排列。
android:orientation = “horizontal” 指定布局内控件排列方式为水平排列
RelativeLayout
android:layout_toLeftOf 在谁的左边
android:layout_toRightOf 在谁的右边
android:layout_alignBottom 跟谁底部对齐
android:layout_alignParentBottom 跟父空间对齐
android:layout_below 在谁的下边
TextView
1.android:ellipsize:当文字长度超过textview宽度时的显示方式。
设置超过n行显示省略号
android:maxLines="n" (n=1,2,3...)
android:ellipsize="end"
例如,字符串”abcedfghijklmn” 的各种现实效果:
android:ellipsize=”start”—–省略号显示在开头 “…lmn”
android:ellipsize=”end”——省略号显示在结尾 “abcdec…”
android:ellipsize=”middle”—-省略号显示在中间 “ab…lmn”
android:ellipsize=”marquee”–跑马灯效果(需要额外处理)
2.中划线和下划线:代码写在activity里面
中划线:
mTv4 = findViewById(R.id.tv_4);
mTv4.getPaint().setFlags(Paint.STRIKE_TERU_TEXT_FLAG);
mTv4.getPaint().setAntiAlias(true);//去掉锯齿
下划线:
//法一
mTv5 = findViewById(R.id.tv_5);
mTv5.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
//法二
mTv6 = findViewById(R.id.tv_6);
mTv6.setText(Html.fromHtml("<u>这是要加下划线的句子</u>"));
3.跑马灯
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchNode="true"
<