androidtab自定義
Ⅰ 安卓UI自定義radiobutton樣式
自定義RadioButton樣式分為兩步:
1、自定義好樣式:
打開style.xml,添加一個item
java"><stylename="RadiobuttonStyle">
<itemname="android:gravity">center</item>
<itemname="android:textSize">16sp</item>
<itemname="android:textColor">@color/text_select_color</item>
<itemname="android:button">@null</item>
<itemname="android:drawableTop">@drawable/select_rbtn_home</item>
</style>
2、在RadioButon中引用:
<RadioButton
android:id="@+id/tv_tab_home"
style="@style/RadiobuttonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/tab_home"/>
Ⅱ android自定義view的參數傳遞問題
android自定義view的參數傳遞,自定義View細分一下,分為兩種
1) 自定義ViewGroup
2) 自定義View
其實ViewGroup最終還是繼承之View,當然它內部做了許多操作;繼承之ViewGroup的View我們一般稱之為容器,而今天我們不講這方面,後續有機會再講。
來看看自定義View 需要掌握的幾點,主要就是兩點
一、重寫 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {}方法。
二、重寫 protected void onDraw(Canvas canvas) {}方法
空講理論很難理解,還得用例子來說明, Android 微信6.1 tab欄圖標和字體顏色漸變的實現 的博客,裡面tab的每個item就是通過自定義View來實現的,那麼接下來就通過此例子來說明問題。
把View理解為一張白紙,而自定義View就是在這張白紙上畫上我們自己繪制的圖案,可以在繪制任何圖案,也可以在白紙的任何位置繪制,那麼問題來了,白紙哪裡來?圖案哪裡來?位置如何計算?
a)白紙好說,只要繼承之View,在onDraw(Canvas canvas)中的canvas就是平常規裁軍所說的白紙
/**
* Created by moon.zhong on 2015/2/13.
*/
public class CustomView extends View {
public CustomView(Context context) {
super(context);
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);