gpt4 book ai didi

android - SlidingMenu 显示不正确

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:22:03 27 4
gpt4 key购买 nike

我是一名初级 Android 程序员,我正在研究 JFeinstein's awesome sliding menu ,试图弄清楚它是如何工作的,并在我的应用程序中实现它,但在我所有的实现中,后面的 View 覆盖了上面 View 的 100%。

此外,返回到上述 View 的唯一方法是按返回按钮,因此也不会“滑动” 返回。如果我理解正确,这应该由 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>

最佳答案

好的,所以我仔细研究了这个例子,最后通过改变让它工作了

SlidingMenu menu = new SlidingMenu(this);

对于:

SlidingMenu menu = getSlidingMenu();

所以这是主要 Activity 的 onCreate 的最终代码:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

setBehindContentView(R.layout.testing);

populate();

SlidingMenu menu = getSlidingMenu();

menu.setMode(SlidingMenu.LEFT);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
setSlidingActionBarEnabled(true);


}

关于android - SlidingMenu 显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162683/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com