国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程實現抽屜效果的方法詳解

2019-10-23 18:27:40
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程實現抽屜效果的方法。分享給大家供大家參考,具體如下:

android的UI開發確實是一件很有趣的事情,也是一件很有挑戰性的事情。

本文章是將自己在開發中的項目中使用到的比較好的抽屜效果的原理以及代碼整理后寫上來的,以備忘記后可以查閱

抽屜效果的原理很簡單,就是給其一個事件監聽(動作),然后對此動作所作出的反應(開 or 關);

在編寫代碼的時候要注意的幾點如下:

1、 打開抽屜的圖標(即觸發抽屜的把手),打開后的界面都是布局在<SlidingDrawer/><SlidingDrawer/>標簽中
2、在<SlidingDrawer/>與<SlidingDrawer/>標簽中設置:android:handle="@+id/handle_layout" 用來指定抽屜的把手;設置:android:content="@+id/content_layout" 用來指定打開       抽屜后的View(即抽屜里面的內容)
3、 SlidingDrawer一共有三個監聽事件(見代碼)

注意:三者的執行順序,總的原則是:滑動完成后,打開(或者關閉)抽屜

執行的順序:

1 、setOnDrawerScrollListener(給把手一個動作)
2、 setOnDrawerOpenListener(打開抽屜) 或 setOnDrawerCloseListener(關閉抽屜)

下面是代碼:

activity_main.xml:

<!-- 在SlidingDrawer這個標簽下android:handle:指示的就是抽屜的圖片。android:content:指向的就是抽屜里面的布局。有了這個布局,其實一個抽屜就出來了 --><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  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:textSize="20sp" />  <SlidingDrawer    android:id="@+id/sd"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:content="@+id/myContent"    android:handle="@+id/iv"    android:orientation="vertical" >    <ImageView      android:id="@id/iv"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:src="@drawable/open1" />    <GridView      android:id="@id/myContent"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:background="@drawable/background"      android:gravity="center"      android:numColumns="3" />  </SlidingDrawer></RelativeLayout>

MainActivity.java 中主要的代碼如下:

package com.example.exp_sliding;import android.os.Bundle;import android.app.Activity;import android.widget.GridView;import android.widget.ImageView;import android.widget.SlidingDrawer;import android.widget.SlidingDrawer.OnDrawerScrollListener;@SuppressWarnings("deprecation")public class MainActivity extends Activity {  private GridView gridView;  private SlidingDrawer slidingDrawer;  private ImageView imageView;  private int[] icons = { R.drawable.one, R.drawable.two, R.drawable.three,      R.drawable.four, R.drawable.five, R.drawable.six, R.drawable.seven,      R.drawable.eight, R.drawable.nine };  private String[] items = { "one", "two", "three", "four", "five", "six",      "seven", "eight", "nine" };  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    gridView = (GridView) findViewById(R.id.myContent);    slidingDrawer = (SlidingDrawer) findViewById(R.id.sd);    imageView = (ImageView) findViewById(R.id.iv);    // 自定義MyAdapter來實現圖標加item的顯示效果    MyAdapter adapter = new MyAdapter(this, items, icons);    gridView.setAdapter(adapter);    //滑動    slidingDrawer.setOnDrawerScrollListener(new OnDrawerScrollListener() {        public void onScrollStarted() {          System.out.println("--------> 開始滑動");        }        public void onScrollEnded() {         System.out.println("--------> 滑動結束");        }    });    //開抽屜動作響應    slidingDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener()        {          @Override          public void onDrawerOpened() {            imageView.setImageResource(R.drawable.close1);// 響應開抽屜事件          }        });    //關抽屜動作響應    slidingDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener() {          @Override          public void onDrawerClosed() {            imageView.setImageResource(R.drawable.open1);// 響應關抽屜事件          }        });  }}

這是一個很基礎的上下開關抽屜的例子,其中涉及的MyAdapter類是一個圖片的收集器,這個相信大家有一定基礎的都會寫這個吧,由于時間關系,在這里就不貼出來了。

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中西区| 漳浦县| 从化市| 于都县| 临湘市| 兴化市| 灌南县| 扎兰屯市| 应用必备| 军事| 滨海县| 定南县| 寿阳县| 时尚| 南投市| 郓城县| 兴安县| 竹山县| 藁城市| 鄄城县| 平陆县| 修水县| 尉犁县| 海门市| 永仁县| 怀柔区| 桂东县| 济宁市| 汤阴县| 祥云县| 蓝山县| 柘荣县| 吉安县| 锡林郭勒盟| 门头沟区| 鹤庆县| 南投县| 冀州市| 延寿县| 龙山县| 宜都市|