[英]Android Custom Spinner with Image selection
我正在使用自定義微調器,我已經了解了如何使用ArrayAdapter來自定義自定義彈出窗口的布局。
但是,我遇到的問題是,我不想在UI上顯示默認的微調器,而是想顯示圖像,然后該圖像將根據已選擇的項目而更改,該圖像如下所示:
除此之外,有沒有一種方法可以使用wrap_content,但可以根據此圖像大小而不是默認微調器大小來包裝它?
如果我理解正確,那么您想要在Spinner中正確顯示的值的一種布局(layoutA),在彈出窗口中是否需要Spinner選項視圖的另一種布局(layoutB)?
如果真是這樣,那就很簡單:在適配器的構造函數中,傳遞layoutA。 然后使用layoutB調用setDropDownViewResource()
。
另外,如果您有一個自定義適配器類,則可以通過分別覆蓋getView()
和getDropDownView()
來獲得相同的結果。
在這種情況下,可以將微調器的高度設置為WRAP_CONTENT
(盡管我尚未測試該特定位)。
那么它很容易實現無論您使用switch case
或者if else
都將正常工作。 我通過將圖像源附加到我聲明的每個參數上來使用if else
條件實現了這一點。
這是代碼示例。
spinner = (Spinner) findViewById(R.id.spinner1);
imageview = (ImageView) findViewById(R.id.imageView1);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
//spinner.
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
if(arg2==0)
{
imageview.setImageResource(R.drawable.apple);
}
else if(arg2==1)
{
imageview.setImageResource(R.drawable.microsoft);
}
else
{
imageview.setImageResource(R.drawable.google);
}
來源-http://kamleshnishad.com/android-studio-spinner-example-onclick-change-image/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.