GUI、再び! (6/7)
作成:2010-06-17 16:31
更新:2010-06-17 16:31
更新:2010-06-17 16:31
■スライディングドロワーの利用
Androidのホーム画面では、「スライディングドロワー」と呼ばれるインターフェイスが使われています。画面の下のほうにある取っ手をタップすると、するするっと引き出しを引くようにアイコンが現れる、あれです。
このスライディングドロワーは、実は意外に簡単に作れます。なんと!プログラミングなど不要なのです。単にレイアウト用のXMLにそのためのタグを用意しておくだけで、簡単に作成することができます。
下に、スライディングドロワーを追加したレイアウトのサンプルをあげておきましょう。main.xmlをこのように書き換えて実行してみてください。画面の下部に「Drawer」というボタンが表示されます。これをクリックすると、するするっと引き出しが引き出され、テキストメッセージが表示されます。
このサンプルでは、整理すると以下のような形でタグが記述されています。
取っ手の部分は、必ず「android:id="@id/handle"」という形でIDを設定してください。ここでは<Button>タグを使っていますが、IDさえ正しければ他のタグでもかまいません。
また引き出しの中身は、「android:id="@id/content"」という形でIDを設定します。これも、やはりIDを正しく指定すればどのような部品でもOKです。
ここでは、特に何のコードも用意していませんが、要するに「IDを指定してGUIは、の部品を組み込むだけ」なので、必要に応じてそれらの部品を操作するためのコードを書いておくこともできます。これまた、特別なことは何もありません。普通の部品を操作するのと全く同じ感覚で書けばいいのです。
このスライディングドロワーは、実は意外に簡単に作れます。なんと!プログラミングなど不要なのです。単にレイアウト用のXMLにそのためのタグを用意しておくだけで、簡単に作成することができます。
下に、スライディングドロワーを追加したレイアウトのサンプルをあげておきましょう。main.xmlをこのように書き換えて実行してみてください。画面の下部に「Drawer」というボタンが表示されます。これをクリックすると、するするっと引き出しが引き出され、テキストメッセージが表示されます。
このサンプルでは、整理すると以下のような形でタグが記述されています。
<SlidingDrawer>この<SlidingDrawer>というのが、スライディングドロワーのタグです。この中に、取っ手となる部品と、引き出しの中身となる部品を用意します。
<Button android:id="@id/handle" />
<LinearLayout>
……引き出しの中身……
</LinearLayout>
</SlidingDrawer>
取っ手の部分は、必ず「android:id="@id/handle"」という形でIDを設定してください。ここでは<Button>タグを使っていますが、IDさえ正しければ他のタグでもかまいません。
また引き出しの中身は、「android:id="@id/content"」という形でIDを設定します。これも、やはりIDを正しく指定すればどのような部品でもOKです。
ここでは、特に何のコードも用意していませんが、要するに「IDを指定してGUIは、の部品を組み込むだけ」なので、必要に応じてそれらの部品を操作するためのコードを書いておくこともできます。これまた、特別なことは何もありません。普通の部品を操作するのと全く同じ感覚で書けばいいのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/text"
/>
<SlidingDrawer
android:id="@+id/slidingdrawer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:handle="@+id/handle"
android:content="@+id/content">
<Button
android:id="@id/handle"
android:layout_width="100dip"
android:layout_height="50dip"
android:text="Drawer" />
<LinearLayout
android:id="@id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF">
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:text="これは、スライディングドロワーのテストです。"/>
</LinearLayout>
</SlidingDrawer>
</LinearLayout>
※関連コンテンツ