java代碼編寫shape文件和狀態選擇器

java代碼編寫shape文件和狀態選擇器
  1. //獲取一個shape對象
  2. public static GradientDrawable getGradientDrawable(int color, int radius) {
  3. // xml中定義的shape標籤 對應此類
  4. GradientDrawable shape = new GradientDrawable();
  5. shape.setShape(GradientDrawable.RECTANGLE);// 矩形
  6. shape.setCornerRadius(radius);// 圓角半徑
  7. shape.setColor(color);// 顏色
  8. return shape;
  9. }
  10. //獲取狀態選擇器
  11. public static StateListDrawable getSelector(Drawable normal, Drawable press) {
  12. StateListDrawable selector = new StateListDrawable();
  13. selector.addState(new int[] { android.R.attr.state_pressed }, press);// 按下圖片
  14. selector.addState(new int[] {}, normal);// 默認圖片
  15. return selector;
  16. }
  17. //獲取狀態選擇器
  18. public static StateListDrawable getSelector(int normal, int press, int radius) {
  19. GradientDrawable bgNormal = getGradientDrawable(normal, radius);
  20. GradientDrawable bgPress = getGradientDrawable(press, radius);
  21. StateListDrawable selector = getSelector(bgNormal, bgPress);
  22. return selector;
  23. }

發佈了40 篇原創文章 · 獲贊 17 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章