我是一名初学者 Android 程序员,我正在玩弄 JFeinstein 很棒的滑动菜单,试图弄清楚它是如何工作的并在我的应用程序中实现它,但在我的所有实现中,后面的视图覆盖了上述视图的 100%。
此外,返回上述视图的唯一方法是按下返回按钮,因此也不能"sliding"
返回。如果我理解正确,这应该由 控制BehindViewOffset
,但我似乎没有让它工作。无论如何,这里有一个小示例代码:
这是我的MainActivity
:
public class MainActivity extends SlidingActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setBehindContentView(R.layout.testing);
populate();
SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
setSlidingActionBarEnabled(true);
menu.setMenu(R.layout.testing);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
toggle();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void populate() {
ListView lv = (ListView) findViewById(R.id.listView1);
String[] values = new String[] { "One", "Two", "Three", "Four", "Five",
"Six", "Seven", "Eight", "Nine", "Ten" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
lv.setAdapter(adapter);
}
}
和布局xml:
<?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="vertical" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
可悲的是,在我获得更多代表之前,我无法发布屏幕截图!
编辑:添加了 dimen.xml
<resources>
<dimen name="slidingmenu_offset">120dp</dimen>
<dimen name="list_padding">10dp</dimen>
<dimen name="shadow_width">15dp</dimen>
<integer name="num_cols">1</integer>
</resources>