0

値が 3 つしかないドロップダウンを作成する必要があります。私はスピナーを使用してこれを行いました。しかし、それはこのように見えます

しかし、私はこのように作成しようとしています

したがって、これをクリックしている間、通常のスピナーのように値を表示する必要があります。

スタイルとセレクターを背景として設定しようとしましたが、何も機能せず、カスタムスピナーを考えましたが、何も役に立ちませんでした。

アップデート

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<Spinner
    android:id="@+id/spinner1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:entries="@array/spinner_consigntype"
    android:prompt="@string/spinner_consign" />
</LinearLayout>

Activity_Test.Java

package com.mkyong.android;

import android.app.Activity;
import android.os.Bundle;

public class Activity_Test extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_activity__test);
    addListenerOnSpinnerItemSelection();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity__test, menu);
    return true;
}


public void addListenerOnSpinnerItemSelection(){

    Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
}
}

リスナー

public class CustomOnItemSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView<?> parent, View view, int pos,
        long id) {
    Toast.makeText(parent.getContext(), 
            "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
            Toast.LENGTH_SHORT).show();
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub

}

}

私の場合、最初の画像のような出力を得ています。しかし、ダウンロードしたコードでは、出力が 2 番目の画像として表示されています。

4

1 に答える 1

1

selector_spinner.xml を作成します。

項目 android:state_pressed="true" android:drawable="@drawable/spinner_normal"
項目 android:state_focused="true" android:drawable=" @drawable/spinner_normal" 項目 android:drawable=
"@drawable/spinner_normal"

レイアウトでこのセレクターを使用してください: main.xml

          <Spinner
            android:id="@+id/spinner_selection"
            android:layout_width="0px"
            android:layout_height="wrap_content"
            android:layout_weight="1"
           **android:background="@drawable/selector_spinner"**
            android:entries="@array/contract_rate_type" />

次に、クラスファイルで、

   Spinner sp = (Spinner).findViewById(R.id.spinner_selection);
于 2013-06-11T11:29:48.750 に答える