不全屏显示、手柄不居中的SlidingDrawer


SlidingDrawer是一个滑动式抽屉,通过点击或拖拽手柄(handle)来显示或隐藏内容(content)。

看了很多关于SlidingDrawer的例子,但基本都是全屏显示,并且手柄居中的。我们下面就来看一下不全屏显示、手柄不居中的SlidingDrawer的例子,其实,实现起来非常简单。

先来看图:

 

 

 

 

xml-- activity_main 代码:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <LinearLayout  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="fill_parent"  
  10.         android:layout_weight="1" >  
  11.     </LinearLayout>  
  12.   
  13.     <SlidingDrawer  
  14.         android:id="@+id/slidingdrawer"  
  15.         android:layout_width="fill_parent"  
  16.         android:layout_height="100dip"  
  17.         android:content="@+id/content"  
  18.         android:handle="@+id/handle"  
  19.         android:orientation="vertical"   
  20.         >  
  21.   
  22.         <Button  
  23.             android:id="@+id/handle"  
  24.             android:layout_width="88dip"  
  25.             android:layout_height="44dip"  
  26.             android:background="@drawable/handle"   
  27.             android:translationX="100dip  "/> <span style="color:rgb(0,102,0)"> </span><span style="color:#990000">//如果想要手柄不居中显示,可以添加 android:translationX 这个属性,就可使手柄在X轴上进行偏移。</span>  
  28.   
  29.         <LinearLayout  
  30.             android:id="@+id/content"  
  31.             android:layout_width="fill_parent"  
  32.             android:layout_height="fill_parent"  
  33.             android:background="#00ff00" >  
  34.   
  35.             <TextView  
  36.                 android:layout_width="fill_parent"  
  37.                 android:layout_height="wrap_content"  
  38.                 android:text="Hello" />  
  39.         </LinearLayout>  
  40.     </SlidingDrawer>  
  41.   
  42. </LinearLayout>  

我们再看一下Activity的代码:

 

  1. public class MainActivity extends Activity {  
  2.     private Button mHandle;  
  3.     @Override  
  4.     protected void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.         setContentView(R.layout.activity_main);  
  7.         setupViews();  
  8.   
  9.     }  
  10.   
  11.     public void setupViews() {  
  12.         mHandle = (Button) findViewById(R.id.handle);   
  13.         mHandle.setTranslationX(100);     //这里主要说一下,android:translationX 这个属性,在Activity中也可设置。  
  14.   
  15.     }  
posted @ 2013-09-25 09:33  Pepper.B  阅读(331)  评论(0编辑  收藏  举报