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

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

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

先来看图:

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

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

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. <LinearLayout
  7. android:layout_width="fill_parent"
  8. android:layout_height="fill_parent"
  9. android:layout_weight="1" >
  10. </LinearLayout>
  11. <SlidingDrawer
  12. android:id="@+id/slidingdrawer"
  13. android:layout_width="fill_parent"
  14. android:layout_height="100dip"
  15. android:content="@+id/content"
  16. android:handle="@+id/handle"
  17. android:orientation="vertical"
  18. >
  19. <Button
  20. android:id="@+id/handle"
  21. android:layout_width="88dip"
  22. android:layout_height="44dip"
  23. android:background="@drawable/handle"
  24. android:translationX="100dip  "/> <span style="color:rgb(0,102,0)"> </span><span style="color:#990000">//如果想要手柄不居中显示,可以添加 android:translationX 这个属性,就可使手柄在X轴上进行偏移。</span>
  25. <LinearLayout
  26. android:id="@+id/content"
  27. android:layout_width="fill_parent"
  28. android:layout_height="fill_parent"
  29. android:background="#00ff00" >
  30. <TextView
  31. android:layout_width="fill_parent"
  32. android:layout_height="wrap_content"
  33. android:text="Hello" />
  34. </LinearLayout>
  35. </SlidingDrawer>
  36. </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. public void setupViews() {
  10. mHandle = (Button) findViewById(R.id.handle);
  11. mHandle.setTranslationX(100);     //这里主要说一下,android:translationX 这个属性,在Activity中也可设置。
  12. }
05-11 21:54