/ 若是View是在Java代碼裏面new的,則調用第一個構造函數
public CarsonView(Context context) {
super(context);
}
// 若是View是在.xml裏聲明的,則調用第二個構造函數
// 自定義屬性是從AttributeSet參數傳進來的
public CarsonView(Context context, AttributeSet attrs) {
super(context, attrs);
}
// 不會自動調用
// 通常是在第二個構造函數裏主動調用
// 如View有style屬性時
public CarsonView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
//API21以後才使用
// 不會自動調用
// 通常是在第二個構造函數裏主動調用
// 如View有style屬性時
public CarsonView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}複製代碼
// 獲取Top位置
public final int getTop() {
return mTop;
}
// 其他以下:
getLeft(); //獲取子View左上角距父View左側的距離
getBottom(); //獲取子View右下角距父View頂部的距離
getRight(); //獲取子View右下角距父View左側的距離複製代碼
//get() :觸摸點相對於其所在組件座標系的座標
event.getX();
event.getY();
//getRaw() :觸摸點相對於屏幕默認座標系的座標
event.getRawX();
event.getRawY();複製代碼
//java中使用Color類定義顏色
int color = Color.GRAY; //灰色
//Color類是使用ARGB值進行表示
int color = Color.argb(127, 255, 0, 0); //半透明紅色
int color = 0xaaff0000; //帶有透明度的紅色
複製代碼
<?xml version="1.0" encoding="utf-8"?>
<resources>
//定義了紅色(沒有alpha(透明)通道)
<color name="red">#ff0000</color>
//定義了藍色(沒有alpha(透明)通道)
<color name="green">#00ff00</color>
</resources>複製代碼
#f00 //低精度 - 不帶透明通道紅色
#af00 //低精度 - 帶透明通道紅色
#ff0000 //高精度 - 不帶透明通道紅色
#aaff0000 //高精度 - 帶透明通道紅色
複製代碼
//方法1
int color = getResources().getColor(R.color.mycolor);
//方法2(API 23及以上)
int color = getColor(R.color.myColor); 複製代碼
<!--在style文件中引用-->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/red</item>
</style>
<!--在layout文件中引用在/res/values/color.xml中定義的顏色-->
android:background="@color/red"
<!--在layout文件中建立並使用顏色-->
android:background="#ff0000" 複製代碼
https://shimo.im/docs/TG8PDh9D96WGTT8Wjava
當程序員容易,當一個優秀的程序員是須要不斷學習的,從初級程序員到高級程序員,從初級架構師到資深架構師,或者走向管理,從技術經理到技術總監,每一個階段都須要掌握不一樣的能力。早早肯定本身的職業方向,才能在工做和能力提高中甩開同齡人。