1/26/2017

Android : 自訂 Spinner 下拉式選單様式

spinner_dropdown.java

......

final String[] items = new String[] {"1","2","3","4","5"};

ArrayAdapter adapter = new ArrayAdapter<>(view.getContext(), R.layout.spinner_dropdown_title, items);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
mSpinner.setAdapter(adapter);
mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView parent, View view, int position, long id) {
        Toast.makeText(getActivity(), "Item selected " + items[position] , Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onNothingSelected(AdapterView parent) {

    }
});

......

spinner_dropdown_title.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    style="?android:attr/spinnerDropDownItemStyle"
    android:maxLines="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:textColor="@color/colorDark87"/>

spinner_dropdown_item.xml

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:maxLines="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:paddingTop="@dimen/dimen8dp"
    android:paddingRight="@dimen/dimen16dp"
    android:paddingBottom="@dimen/dimen8dp"
    android:paddingLeft="@dimen/dimen16dp"
    android:textColor="@color/colorDark87"/>

沒有留言:

張貼留言

Android : 來電顯示範例

https://github.com/marxtseng/CallerID