Android,slidingmenu,responivity片段

时间:2013-11-30 20:23:19

标签: android android-fragments slidingmenu

我在ResponsiveUIActivity.java示例中找到了以下代码:if (findViewById(R.id.menu_frame) == null) {,我不知道// check if the content frame contains the menu frame if (findViewById(R.id.menu_frame) == null) { setBehindContentView(R.layout.menu_frame); getSlidingMenu().setSlidingEnabled(true); getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); // show home as up so we can toggle getSupportActionBar().setDisplayHomeAsUpEnabled(true); } else { // add a dummy view View v = new View(this); setBehindContentView(v); getSlidingMenu().setSlidingEnabled(false); getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE); } 是什么意思:

R.id.menu_frame

layout指向3个布局 这个位于<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/menu_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> 文件夹:

layout-xlarge

这个位于<?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 = "horizontal" android:baselineAligned = "true"> <FrameLayout android:id = "@+id/menu_frame" android:layout_width = "0dp" android:layout_height = "match_parent" android:layout_weight = "1" /> <FrameLayout android:id = "@+id/content_frame" android:layout_width = "0dp" android:layout_height = "match_parent" android:layout_weight = "2" /> </LinearLayout> 文件夹中:

layout-large-land

,这个位于<?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="horizontal" > <FrameLayout android:id="@+id/menu_frame" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" /> <FrameLayout android:id="@+id/content_frame" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="3" /> </LinearLayout> 文件夹:

menu_frame

以上3个布局中{{1}}为空,但滑动菜单如何与主题一起使用?

1 个答案:

答案 0 :(得分:2)

布局目录layoutlayout-xlargelayout-large-land表示支持屏幕尺寸和屏幕方向的不同布局。您可以阅读更多相关信息here

条件if(findViewById(R.id.menu_frame) == null)正在检查view是否存在。

也就是说,如果条件保持true,则表示滑动菜单当前已关闭,因此您将menu view“置于”current view后面。但是,当条件为false时,表示用户已点击左上角的菜单按钮,从而执行else部分,后面放置current view“ “然后调出menu view