日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

隐藏式抽屉SlidingDrawer(无法实现垂直)

發布時間:2025/4/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 隐藏式抽屉SlidingDrawer(无法实现垂直) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? SlidingDrawer配置上采用了水平展開或垂直展開兩種(android:orientation)方式,在XML里必須指定其使用的android:handle與android:content,前者委托要展開的圖片(Layout配置),后者則是要展開的Layout Content。

運行結果:

文件代碼:

  • package?com.xc.ex04_27;?
  • ?
  • import?android.R.integer;?
  • import?android.app.Activity;?
  • import?android.os.Bundle;?
  • import?android.widget.GridView;?
  • import?android.widget.ImageView;?
  • import?android.widget.SlidingDrawer;?
  • ?
  • public?class?EX04_27?extends?Activity?{?
  • ????private?GridView?gv;?
  • ????private?SlidingDrawer?sd;?
  • ????private?ImageView?im;?
  • ????private?int[]?icons?=?{R.drawable.calendar,R.drawable.camera,?
  • ????????????????????????????R.drawable.music,R.drawable.clock};?
  • ????private?String[]?items?=?{"Calendar","Camera","Music","Clock"};?
  • ????/**?Called?when?the?activity?is?first?created.?*/?
  • ????@Override?
  • ????public?void?onCreate(Bundle?savedInstanceState)?{?
  • ????????super.onCreate(savedInstanceState);?
  • ????????setContentView(R.layout.main);?
  • ????????gv?=?(GridView)findViewById(R.id.myContent1);?
  • ????????sd?=?(SlidingDrawer)findViewById(R.id.sd);?
  • ????????im?=?(ImageView)findViewById(R.id.im);?
  • ?????????
  • ????????//使用自定義的MyGridViewAdapter設置GridView里面的item內容?
  • ????????MyGridViewAdapter?adapter?=?new?MyGridViewAdapter(this,items,icons);?
  • ????????gv.setAdapter(adapter);?
  • ?????????
  • ????????//設置SlidingDrawer被打開的事件處理?
  • ????????sd.setOnDrawerOpenListener(new?SlidingDrawer.OnDrawerOpenListener()?{?
  • ?????????????
  • ????????????@Override?
  • ????????????public?void?onDrawerOpened()?{?
  • ????????????????//?TODO?Auto-generated?method?stub?
  • ????????????????im.setImageResource(R.drawable.close);?
  • ????????????}?
  • ????????});?
  • ????????sd.setOnDrawerCloseListener(new?SlidingDrawer.OnDrawerCloseListener()?{?
  • ?????????????
  • ????????????@Override?
  • ????????????public?void?onDrawerClosed()?{?
  • ????????????????//?TODO?Auto-generated?method?stub?
  • ????????????????im.setImageResource(R.drawable.open);?
  • ????????????}?
  • ????????});?
  • ????}?
  • }?

  • ?

  • package?com.xc.ex04_27;?
  • ?
  • import?android.content.Context;?
  • import?android.view.LayoutInflater;?
  • import?android.view.View;?
  • import?android.view.ViewGroup;?
  • import?android.widget.BaseAdapter;?
  • import?android.widget.ImageView;?
  • import?android.widget.TextView;?
  • ?
  • public?class?MyGridViewAdapter?extends?BaseAdapter{?
  • ????private?Context?context;?
  • ????private?String[]?items;?
  • ????private?int[]?icons;?
  • ?????
  • ????public?MyGridViewAdapter(Context?context,?String[]?items,?int[]?icons){?
  • ????????this.context?=?context;?
  • ????????this.items?=?items;?
  • ????????this.icons?=?icons;?
  • ????}?
  • ????@Override?
  • ????public?int?getCount()?{?
  • ????????//?TODO?Auto-generated?method?stub?
  • ????????return?items.length;?
  • ????}?
  • ?
  • ????@Override?
  • ????public?Object?getItem(int?position)?{?
  • ????????//?TODO?Auto-generated?method?stub?
  • ????????return?items[position];?
  • ????}?
  • ?
  • ????@Override?
  • ????public?long?getItemId(int?position)?{?
  • ????????//?TODO?Auto-generated?method?stub?
  • ????????return?position;?
  • ????}?
  • ?
  • ????@Override?
  • ????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{?
  • ????????//?TODO?Auto-generated?method?stub?
  • ????????LayoutInflater?factory?=?LayoutInflater.from(context);?
  • ????????View?view?=?(View)factory.inflate(R.layout.grid,?null);?
  • ????????ImageView?iv?=?(ImageView)view.findViewById(R.id.icon);?
  • ????????TextView?tv?=?(TextView)view.findViewById(R.id.text);?
  • ????????iv.setImageResource(icons[position]);?
  • ????????tv.setText(items[position]);?
  • ????????return?view;?
  • ????}?
  • ?????
  • }?

  • ?

  • <?xml?version="1.0"?encoding="utf-8"?>?
  • <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"?
  • ????android:layout_width="match_parent"?
  • ????android:layout_height="match_parent"?
  • ????android:orientation="vertical"?>?
  • ????<ImageView?
  • ????????android:id="@+id/icon"?
  • ????????android:layout_width="wrap_content"?
  • ????????android:layout_height="wrap_content"??
  • ????????/>?
  • ????<TextView?
  • ????????android:id="@+id/text"?
  • ????????android:layout_width="wrap_content"?
  • ????????android:layout_height="wrap_content"??
  • ????????/>?
  • ?
  • </LinearLayout>?


  • ?

  • <?xml?version="1.0"?encoding="utf-8"?>?
  • <RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android"?
  • ????android:layout_width="fill_parent"?
  • ????android:layout_height="fill_parent"?
  • ????>?
  • ?
  • ????<TextView?
  • ????????android:textSize="16sp"?
  • ????????android:layout_width="fill_parent"?
  • ????????android:layout_height="wrap_content"?
  • ????????android:text="@string/hello"?/>?
  • ?????
  • ????<SlidingDrawer?
  • ????????android:id="@+id/sd"?
  • ????????android:layout_width="fill_parent"?
  • ????????android:layout_height="fill_parent"?
  • ????????android:handle="@+id/layout1"?
  • ????????android:content="@+id/myContent1"?
  • ????????android:orientation="horizontal"?
  • ????????>?
  • ????????<LinearLayout????
  • ????????????android:id="@id/layout1"????
  • ????????????android:layout_width="35px"????
  • ????????????android:layout_height="fill_parent"??
  • ????????????android:gravity="center"????
  • ????????????>??
  • ????????????<ImageView?
  • ????????????????android:id="@+id/im"?
  • ????????????????android:layout_width="wrap_content"?
  • ????????????????android:layout_height="wrap_content"?
  • ????????????????android:src="@drawable/open"??
  • ????????????????/>?
  • ????????</LinearLayout>?
  • ????????<GridView????
  • ????????????android:id="@id/myContent1"????
  • ????????????android:layout_width="wrap_content"????
  • ????????????android:layout_height="wrap_content"????
  • ????????????android:numColumns="2"??
  • ????????????android:gravity="center"?
  • ????????????/>??
  • ????</SlidingDrawer>??
  • </RelativeLayout>?






  • 但是在實現垂直方向的變化時。將

  • <SlidingDrawer??
  • ????????android:id="@+id/sd"??
  • ????????android:layout_width="fill_parent"??
  • ????????android:layout_height="fill_parent"??
  • ????????android:handle="@+id/layout1"??
  • ????????android:content="@+id/myContent1"??
  • ????????android:orientation="vertical"??
  • ????????>?
  • 改變后無法實現。經過一些改變gravity的方法還是沒有找出問題所在。

    轉載于:https://blog.51cto.com/3861969/940866

    總結

    以上是生活随笔為你收集整理的隐藏式抽屉SlidingDrawer(无法实现垂直)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。