生活随笔
收集整理的這篇文章主要介紹了
隐藏式抽屉SlidingDrawer(无法实现垂直)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? SlidingDrawer配置上采用了水平展開或垂直展開兩種(android:orientation)方式,在XML里必須指定其使用的android:handle與android:content,前者委托要展開的圖片(Layout配置),后者則是要展開的Layout Content。
運行結(jié)果:
文件代碼:
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"};??????????@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?adapter?=?new?MyGridViewAdapter(this,items,icons);?????????gv.setAdapter(adapter);???????????????????????????sd.setOnDrawerOpenListener(new?SlidingDrawer.OnDrawerOpenListener()?{??????????????????????????@Override?????????????public?void?onDrawerOpened()?{??????????????????????????????????im.setImageResource(R.drawable.close);?????????????}?????????});?????????sd.setOnDrawerCloseListener(new?SlidingDrawer.OnDrawerCloseListener()?{??????????????????????????@Override?????????????public?void?onDrawerClosed()?{??????????????????????????????????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()?{??????????????????return?items.length;?????}??????@Override?????public?Object?getItem(int?position)?{??????????????????return?items[position];?????}??????@Override?????public?long?getItemId(int?position)?{??????????????????return?position;?????}??????@Override?????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{??????????????????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>?
但是在實現(xiàn)垂直方向的變化時。將
<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"??????????>?改變后無法實現(xiàn)。經(jīng)過一些改變gravity的方法還是沒有找出問題所在。
轉(zhuǎn)載于:https://blog.51cto.com/3861969/940866
總結(jié)
以上是生活随笔為你收集整理的隐藏式抽屉SlidingDrawer(无法实现垂直)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。