簡體   English   中英

具有圖像選擇功能的Android自定義微調器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM