編輯:Android開發實例
SlidingDrawer效果想必大家也見到過,它就是1.5模擬器上進入應用程序列表的效果。下面是截圖
一、簡介
SlidingDrawer隱藏屏外的內容,並允許用戶通過handle以顯示隱藏內容。它可以垂直或水平滑動,它有倆個View組成,其一是可以拖動的handle,其二是隱藏內容的View.它裡面的控件必須設置布局,在布局文件中必須指定handle和content.
例如下面
- <SlidingDrawer android:layout_width="fill_parent"
- android:layout_height="fill_parent" android:handle="@+id/handle"
- android:content="@+id/content" android:orientation="vertical"
- android:id="@+id/slidingdrawer">
- <ImageButton android:id="@id/handle" android:layout_width="50dip"
- android:layout_height="44dip" android:src="@drawable/up" />
- <LinearLayout android:id="@id/content"
- android:layout_width="fill_parent" android:layout_height="fill_parent"
- android:background="#ffffff">
- <TextView android:text="這是一個滑動式抽屜的示例"
- android:id="@+id/tv"
- android:textSize="18px"
- android:textColor="#000000"
- android:gravity="center_vertical|center_horizontal"
- android:layout_width="match_parent"
- android:textStyle="bold"
- android:layout_height="match_parent"></TextView>
- </LinearLayout>
- </SlidingDrawer>
二、重要屬性
android:allowSingleTap:指示是否可以通過handle打開或關閉
android:animateOnClick:指示是否當使用者按下手柄打開/關閉時是否該有一個動畫。
android:content:隱藏的內容
android:handle:handle(手柄)
三、重要方法
animateClose():關閉時實現動畫。
close():即時關閉
getContent():獲取內容
isMoving():指示SlidingDrawer是否在移動。
isOpened():指示SlidingDrawer是否已全部打開
lock():屏蔽觸摸事件。
setOnDrawerCloseListener(SlidingDrawer.OnDrawerCloseListener onDrawerCloseListener):SlidingDrawer關閉時調用
unlock():解除屏蔽觸摸事件。
toggle():切換打開和關閉的抽屜SlidingDrawer。
四、完整實例
1.布局文件slidingdrawer.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent" android:layout_height="fill_parent"
- android:orientation="vertical" android:background="@drawable/default_bg">
- <SlidingDrawer android:layout_width="fill_parent"
- android:layout_height="fill_parent" android:handle="@+id/handle"
- android:content="@+id/content" android:orientation="vertical"
- android:id="@+id/slidingdrawer">
- <ImageButton android:id="@id/handle" android:layout_width="50dip"
- android:layout_height="44dip" android:src="@drawable/up" />
- <LinearLayout android:id="@id/content"
- android:layout_width="fill_parent" android:layout_height="fill_parent"
- android:background="#ffffff">
- <TextView android:text="這是一個滑動式抽屜的示例"
- android:id="@+id/tv"
- android:textSize="18px"
- android:textColor="#000000"
- android:gravity="center_vertical|center_horizontal"
- android:layout_width="match_parent"
- android:textStyle="bold"
- android:layout_height="match_parent"></TextView>
- </LinearLayout>
- </SlidingDrawer>
- </LinearLayout>
2.Java代碼
- package com.wjq;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.ImageButton;
- import android.widget.SlidingDrawer;
- import android.widget.TextView;
- public class SlidingDrawerDemo extends Activity {
- private SlidingDrawer mDrawer;
- private ImageButton imbg;
- private Boolean flag=false;
- private TextView tv;
- /* (non-Javadoc)
- * @see android.app.Activity#onCreate(android.os.Bundle)
- */
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.sildingdrawer);
- imbg=(ImageButton)findViewById(R.id.handle);
- mDrawer=(SlidingDrawer)findViewById(R.id.slidingdrawer);
- tv=(TextView)findViewById(R.id.tv);
- mDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener()
- {
- @Override
- public void onDrawerOpened() {
- flag=true;
- imbg.setImageResource(R.drawable.down);
- }
- });
- mDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener(){
- @Override
- public void onDrawerClosed() {
- flag=false;
- imbg.setImageResource(R.drawable.up);
- }
- });
- mDrawer.setOnDrawerScrollListener(new SlidingDrawer.OnDrawerScrollListener(){
- @Override
- public void onScrollEnded() {
- tv.setText("結束拖動");
- }
- @Override
- public void onScrollStarted() {
- tv.setText("開始拖動");
- }
- });
- }
- }
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
Google Map(谷歌地圖)是Google公司提供的電子地圖服務。包括了三
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用