show code block

2017年4月17日 星期一

Android元件 ─ 最簡單的Spinner

前言:

這種Spinner的方式算是我最愛的一種吧。

最為直觀、簡單。







實作:

實作影片

這次要控制的地方有三個

strings、main_activity.xml、MainActivity.java

strings、main_activity.xml、MainActivity.java





















先從strings.xml下手,在strings.xml內設置你要的陣列單位。
先找到res/values/strings.xml
<resources>
    <string name="app_name">SpinnerHello</string>

 <string-array name="Colors">
        <item>gray</item>
        <item>blue</item>
        <item>red</item>
        <item>yellow</item>
        <item>oragne</item>
    </string-array>
</resources>



main_activity.xml





















main_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.spinner.a015865.spinnerhello.MainActivity">

    <Spinner
        android:id="@+id/spinner_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="30dp"
        android:entries="@array/Colors" />

    <TextView
        android:id="@+id/textview_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Hello World!"
        android:textSize="50dp" />

    <Button
        android:id="@+id/button_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="PressMe" />

</LinearLayout>



MainActivity.java
public class MainActivity extends AppCompatActivity {

    private TextView mTextView;
    private Spinner mSpinner;
    private Button mButton;

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

        initView();
        initSet();
        initListener();
    }

    private void initView() {
        mTextView = (TextView) findViewById(R.id.textview_view);
        mSpinner = (Spinner) findViewById(R.id.spinner_view);
        mButton = (Button) findViewById(R.id.button_view);
    }

    private void initSet() {
    }

    private void initListener() {
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String message = String.valueOf(mSpinner.getSelectedItem());
                mTextView.setText(message);
            }
        });
    }
}



超簡單的Spinner就完成囉!



Demo:

https://drive.google.com/open?id=0Byk75IYx-dKXbWZPOTU1WHdKSm8





沒有留言:

張貼留言

協程(coroutine) - 協程為什麼要學它?

 Coroutine 協程 再強調一次 協程就是由kotlin官方所提供的線程api //Thread Thread { }.start() //Executor val execu...