SlidingDrawer是一个滑动式抽屉,通过点击或拖拽手柄(handle)来显示或隐藏内容(content)。
看了很多关于SlidingDrawer的例子,但基本都是全屏显示,并且手柄居中的。我们下面就来看一下不全屏显示、手柄不居中的SlidingDrawer的例子,其实,实现起来非常简单。
先来看图:
??????
?
xml-- activity_main 代码:
class="xml" name="code"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</LinearLayout>
<SlidingDrawer
android:id="@+id/slidingdrawer"
android:layout_width="fill_parent"
android:layout_height="100dip"
android:content="@+id/content"
android:handle="@+id/handle"
android:orientation="vertical"
>
<Button
android:id="@+id/handle"
android:layout_width="88dip"
android:layout_height="44dip"
android:background="@drawable/handle"
android:translationX="100dip "/> //如果想要手柄不居中显示,可以添加 android:translationX 这个属性,就可使手柄在X轴上进行偏移。
<LinearLayout
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#00ff00" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello" />
</LinearLayout>
</SlidingDrawer>
</LinearLayout>
?我们再看一下Activity的代码:
public class MainActivity extends Activity { private Button mHandle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setupViews(); } public void setupViews() { mHandle = (Button) findViewById(R.id.handle); mHandle.setTranslationX(100); //这里主要说一下,android:translationX 这个属性,在Activity中也可设置。 }
?
?
?