Android NumberPicker默認外觀的修改


  NumberPicker是Android3.0之后引入的一個控件,在以后的TimePicker和DatePicker時間控件里邊都有引用,NumberPicker本身並沒有提供接口給開發者修改其默認外觀,這里延續前篇博客的內容(調整TimePicker,DatePicker的大小、樣式),提供一個修改NumberPicker默認外觀(主要是修改字體大小,顏色)的方法。如果你是使用Android3.0以后的版本,而且你只需要修改NumberPicker的字體,那這是最偷懶的方法。效果還是先上圖。

      

  左邊紅色方框里邊是一個NumberPicker控件,修改了它的字體和顏色。

  實現的方法是使用CustomNumberPicker繼承NumberPicker控件,在其子控件EditText加載時修改其屬性,詳細如下:

public class CustomNumberPicker extends NumberPicker 
{

    public CustomNumberPicker(Context context, AttributeSet attrs) 
    {
        super(context, attrs);
    }

    @Override
    public void addView(View child)
    {
        super.addView(child);
        updateView(child);
    }

    @Override
    public void addView(View child, int index,
            android.view.ViewGroup.LayoutParams params)
    {
        super.addView(child, index, params);
        updateView(child);
    }

    @Override
    public void addView(View child, android.view.ViewGroup.LayoutParams params) 
    {
        super.addView(child, params);
        updateView(child);
    }

    public void updateView(View view)
    {
        if (view instanceof EditText) 
        {
             //這里修改字體的屬性
            ((EditText) view).setTextSize(12); 
            ((EditText) view).setTextColor(Color.RED);
        }
    }

}    

  然后再xml文件使用CustomNumberPicker替換NumberPicker就可以了。

  但是大部分的應用需要支持Android3.0以前的版本,這個時候你就需要自己寫NumberPicker控件了,幸運的是這部分工作,已經有人替你做了,你只需要拿來主義就好了。

  來自於GitHub的NumberPicker控件,點擊下載后就可以使用。它是根據Android的源碼編寫,結合library使用,而達到后向兼容Android版本的。由於自己沒有使用過,所以不在多寫,有需要的同學可以下載使用。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM