libro
www.tuyano.com
Google androidプログラミング入門

GUI、再び! (6/7)

作成:2010-06-17 16:31
更新:2010-06-17 16:31

■スライディングドロワーの利用

Androidのホーム画面では、「スライディングドロワー」と呼ばれるインターフェイスが使われています。画面の下のほうにある取っ手をタップすると、するするっと引き出しを引くようにアイコンが現れる、あれです。

このスライディングドロワーは、実は意外に簡単に作れます。なんと!プログラミングなど不要なのです。単にレイアウト用のXMLにそのためのタグを用意しておくだけで、簡単に作成することができます。

下に、スライディングドロワーを追加したレイアウトのサンプルをあげておきましょう。main.xmlをこのように書き換えて実行してみてください。画面の下部に「Drawer」というボタンが表示されます。これをクリックすると、するするっと引き出しが引き出され、テキストメッセージが表示されます。

このサンプルでは、整理すると以下のような形でタグが記述されています。
<SlidingDrawer>
    <Button android:id="@id/handle" />
    <LinearLayout>
        ……引き出しの中身……
    </LinearLayout>
</SlidingDrawer>
この<SlidingDrawer>というのが、スライディングドロワーのタグです。この中に、取っ手となる部品と、引き出しの中身となる部品を用意します。

取っ手の部分は、必ず「android:id="@id/handle"」という形でIDを設定してください。ここでは<Button>タグを使っていますが、IDさえ正しければ他のタグでもかまいません。

また引き出しの中身は、「android:id="@id/content"」という形でIDを設定します。これも、やはりIDを正しく指定すればどのような部品でもOKです。

ここでは、特に何のコードも用意していませんが、要するに「IDを指定してGUIは、の部品を組み込むだけ」なので、必要に応じてそれらの部品を操作するためのコードを書いておくこともできます。これまた、特別なことは何もありません。普通の部品を操作するのと全く同じ感覚で書けばいいのです。

※プログラムリストが表示されない場合

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>

※関連コンテンツ

「Google androidプログラミング入門」に戻る