Android箱子選擇控制項 自定義View

2021-09-24 18:52:56 字數 2266 閱讀 7313

近期公司在做箱子的一些專案,所以做了乙個選擇箱子的自定義view

思路:

用gridview + viewpager + horizontalscrollview

感覺用起來還不錯

使用方法:

view的效果圖:

中間使用了乙個包裝類xhcaseview使caseview更加易用

final string title = new string;

final string xinhao = new string[20];

final string number = new string[20];

for (int i = 0; i < 20; i++)

final string money = new string[20];

for (int i = 0; i < 20; i++)

for (int i = 0; i < 20; i++)

xhcaseview xhcaseview = new xhcaseview(caseview);

xhcaseview.setcaseviewadapter(new xhcaseview.xhcaseadapterbean()

/*** 獲取你的箱子的小型號,每個格仔的規格

* @param position

* @param index

* @return

*/@override

public string getcasemodelnumber(int position, int index)

/*** 每個箱子所使用的**

* @param position

* @param index

* @return

*/@override

public string getcasemoney(int position, int index)

/*** 獲取你每個箱子的箱號

* @param position

* @param index

* @return

*/@override

public string getcasenumber(int position, int index)

/*** 總共的箱子(大箱子)的個數

* @return

*/@override

public int getcasecount()

/*** 將使那些箱子不能被選中,不可選

* @param position

* @param pageindex

* @return

*/@override

public boolean getuse(int position, int pageindex)

if (position == 18 && pageindex == 2)

if (position == 18 && pageindex == 1)

if (position == 7 && pageindex == 3)

if(position == 1 && pageindex == 0)

if(position == 2 && pageindex == 0)

if(position == 3 && pageindex == 0)

if(position == 8 && pageindex == 0)

if(position == 10 && pageindex == 0)

if(position == 13 && pageindex == 0)

return false;

}});

//監聽方法

xhcaseview.setischeckdata(this);

xml

xml:

切記:本人只是為了方便移出demo所以把xml和png放到同乙個資料夾(drawable)下了,在真實開發中這種操作是不允許的!

demo(gtihub):

Android 自定義控制項

幹android也有一段的時間了,自定義這塊的東西覺得還是很有比較複習一下基礎的東西。自定義控制項和自定義元件基本上的使用都是在專案中基本的android控制項滿足不了需求的時候使用的。所以,如果要高出特別炫的特效,或者比較特殊的控制項排列方式,例如瀑布流,那麼就要好好學學自定義咯。首先,先簡單的介...

android自定義控制項

android自定義控制項 二 入門,繼承view 說說android 兩種為自定義元件新增屬性的使用方法和區別 自定義控制項的屬性 自定義控制項 今天花了3,4個小時看了自定義控制項,看 懂了,還沒有實踐,因為時間不夠,日後實踐。總結下 自定義控制項有3種方式 繼承已有控制項 繼承乙個容器控制項,...

Android自定義控制項

android學習筆記,整理給自己複習的時候看的,謝謝!1.自定義開關 1.宣告介面物件 public inte ce onswitchstateupdatelistener 2.新增設定介面物件的方法,外部進行呼叫 public void setonswitchstateupdatelistene...