diff options
Diffstat (limited to 'docs/html/resources/tutorials/views/hello-spinner.jd')
-rw-r--r-- | docs/html/resources/tutorials/views/hello-spinner.jd | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/docs/html/resources/tutorials/views/hello-spinner.jd b/docs/html/resources/tutorials/views/hello-spinner.jd new file mode 100644 index 0000000..3a04214 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-spinner.jd @@ -0,0 +1,106 @@ +page.title=Hello, Spinner +parent.title=Hello, Views +parent.link=index.html +@jd:body + +<p>A {@link android.widget.Spinner} is a widget that allows the user to select an item from a group. +It is similar to a dropdown list and will allow scrolling when the +list exceeds the available vertical space on the screen.</p> + + +<ol> + <li>Start a new project/Activity called HelloSpinner.</li> + <li>Open the layout file. + Make it like so: +<pre> +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:padding="10dip" + android:layout_width="fill_parent" + android:layout_height="wrap_content"> + + <TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_marginTop="10dip" + android:text="Please select a planet:" + /> + + <Spinner + android:id="@+id/spinner" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:drawSelectorOnTop="true" + android:prompt="@string/planet_prompt" + /> + +</LinearLayout> +</pre> + <p>Notice that the Spinner's <code>android:prompt</code> is a string resource. In + this case, Android does not allow it to be a string, it must be a reference to a resource. + So...</p> +</li> + +<li>Open the strings.xml file in res/values/ and add the following <code><string></code> +element inside the <code><resources></code> element: +<pre> +<string name="planet_prompt">Choose a planet</string> +</pre> +</li> + +<li>Create a new XML file in res/values/ called arrays.xml. Insert the following: +<pre> +<resources> + + <string-array name="planets"> + <item>Mercury</item> + <item>Venus</item> + <item>Earth</item> + <item>Mars</item> + <item>Jupiter</item> + <item>Saturn</item> + <item>Uranus</item> + <item>Neptune</item> + </string-array> + +</resources> +</pre> + <p>This is the list of items (planets) that the user can select from in the Spinner widget.</p> +</li> + +<li>Now open the HelloSpinner.java file. Insert the following code into the HelloSpinner class: +<pre> +@Override +public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + Spinner s = (Spinner) findViewById(R.id.spinner); + ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( + this, R.array.planets, android.R.layout.simple_spinner_item); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + s.setAdapter(adapter); +} +</pre> + <p>That's it. We start by creating a Spinner from our layout. We then create an {@link android.widget.ArrayAdapter} + that binds each element of our string array to a layout view—we pass <code>createFromResource</code> our Context, + the array of selectable items and the type of layout we'd like each one bound to. We then call + <code>setDropDownViewResource()</code> to define the type of layout in which to present the + entire collection. Finally, we set this Adapter to associate with our Spinner, + so the string items have a place to go.</p> +</li> + +<li>Now run it.</li> +</ol> +<p>It should look like this:</p> +<img src="images/hello-spinner.png" width="150px" /> + + +<h3>Resources</h3> +<ul> + <li>{@link android.R.layout}</li> + <li>{@link android.widget.ArrayAdapter}</li> + <li>{@link android.widget.Spinner}</li> +</ul> + |