我遇到的问题是我的滑动菜单有什么理由占据全屏......我环顾四周,有人说你需要设置 setBehindOffsetRes 要么 setBehindOffset 让它工作..我有,但它仍然无法正常工作..
主要活动:
package com.quapps.theinitiative;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
import com.quapps.theinitiative.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setBehindContentView(R.layout.menu_frame);
SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.menu_frame);
//menu.setBehindOffset(100);
}
}
dimens.xml
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="slidingmenu_offset">60dp</dimen>
<dimen name="list_padding">10dp</dimen>
<dimen name="shadow_width">15dp</dimen>
</resources>
menu_frame.xml
<?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" />
activity_main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
我明白它可能是愚蠢的,我似乎无法找到它
答案 0 :(得分:3)
设置SlidingMenu的宽度应该可以解决问题,这里是你如何在代码中完成的。
getSlidingMenu().setBehindWidthRes(300dp);
应在resource / dimen文件中指定300dp,因此在运行时它可以相应地转换为像素值。如果要直接指定像素,则只能使用“300”。
答案 1 :(得分:0)
menu_frame.xml
将android:layout_width="match_parent"
更改为android:layout_width="wrap_content"
应该有效
答案 2 :(得分:0)
为wrapcontent添加宽度
答案 3 :(得分:0)
在resource / dimen文件中指定宽度,如100dp do work。你不能写getSlidingMenu().setBehindWidthRes(300)
,否则它会给资源找不到错误。