TextViewBorder extends TextView
@Overrideprotected voidonDraw(Canvas canvas) {if (0 == this.getText().toString().length())return;
borderPaint.setColor(borderCol);int w = this.getMeasuredWidth();int h = this.getMeasuredHeight();
RectF r= new RectF(2, 2, w - 2, h - 2);
canvas.drawRoundRect(r,5, 5, borderPaint);super.onDraw(canvas);
}
1、如果LinearLayout中使用android:layout_marginRight不起作用,通过测试原来在android2.x中,如果一个控件中有android:layout_gravity属性,就会出现android:layout_marginRight没有应有的效果,而是把左边距加到右边距上去,直接去掉android:layout_gravity这个属性就能解决
2、如果是在RelativeLayout中不起作用,请在这个代码前加了一条android:layout_alignParentRight="true",就行(自己验证成功)
3、如果是ScrollView中的LinearLayout 中设置margin 类的属性无效,解决方法 LinearLayout中加android:layout_gravity="top" 属性就ok,
4、如果是LineaerLayout放到scrollview或者RelativeLayou里面中layout_margin失效不起作用,解决方法在属性里面加入android:layout_gravity="top",大家注意跟1是不一样的,1是LinearLayout里面的控件,而这里是指LinearLayout在其他控件中的情况,请分清对待。
5.我在一个relativelayout中放置了一个relativelayout,结果这个relativelayout中的layout_marginTop一直不起作用,后来发现是因为我的最外层relativelayout增加了另一个android:gravity="center",导致了问题
有2种方法可以设置TextView文字居中:
一:在xml文件设置:android:gravity="center"
二:在程序中设置:m_TxtTitle.setGravity(Gravity.CENTER);
备注:android:gravity和android:layout_gravity的区别在于前者对控件内部操作,后者是对整个控件操作。
例如:android:gravity="center"是对textView中文字居中
android:layout_gravity="center"是对textview控件在整个布局中居中
android:layout_above=”@id/xxx” –将控件置于给定ID控件之上
android:layout_below=”@id/xxx” –将控件置于给定ID控件之下
android:layout_toLeftOf=”@id/xxx” –将控件的右边缘和给定ID控件的左边缘对齐
android:layout_toRightOf=”@id/xxx” –将控件的左边缘和给定ID控件的右边缘对齐
android:layout_alignLeft=”@id/xxx” –将控件的左边缘和给定ID控件的左边缘对齐
android:layout_alignTop=”&#