DrawerLayout学习,抽屉效果

时间:2023-03-09 01:24:44
DrawerLayout学习,抽屉效果

第一节:

注意事项

*主视图一定要是DrawerLayout的第一子视图

*主视图宽度和高度匹配父视图,因为当你显示主视图时,要铺满整个屏幕,用户体验度较高

*必须显示指定的抽屉视图的android:layout_gravity属性

first:android:layout_gravity="start",左-->右滑出菜单

second:android:layout_gravity="end",右-->左滑出菜单

不推荐left,right

*抽屉视图的宽度以dp为单位,最佳不要超过父视图的2/3

效果图展示:

DrawerLayout学习,抽屉效果

代码展示:

activity_main.xml

 <android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"> <!-- the main content view --> <FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"> </FrameLayout> <!-- the navigation view -->
<!-- start left->right -->
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@drawable/listview_table"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"> </ListView>
</android.support.v4.widget.DrawerLayout>

MainActivity.java

 import android.app.Activity;
import android.os.Bundle; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} }

感受:难点在于抽屉视图的理解和使用规则