gpt4 book ai didi

android - 滑动菜单上的奇怪偏移行为

转载 作者:行者123 更新时间:2023-11-29 21:49:47 24 4
gpt4 key购买 nike

我正在尝试将 SlidingMenu 添加到我的应用程序中。它结合了 3 个库 ActionBarSherlock/ViewPagerIndicator/SlidingMenu。那么问题是,如果我向右滑动以展开 SlidingMenu,它就没有偏移量。这意味着孔屏幕将被菜单填充。如果我按下切换按钮,它看起来真的很奇怪。看起来他得到了偏移量,但看图片...如果我按两次切换按钮,它看起来应该 -.-'

知道我做错了什么吗?

那是我的 layout.xml

<LinearLayout 
android:id="@+id/id_Main_output"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1.0"
android:orientation="vertical" >

<com.viewpagerindicator.TitlePageIndicator
android:id="@+id/id_Main_titlepageindicator"
android:textColor="#FF808080"
app:selectedColor="#FF33B5E5"
app:selectedBold="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
/>
<android.support.v4.view.ViewPager
android:id="@+id/id_Main_pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>

</LinearLayout>

这是我的onCreate

super.onCreate(savedInstanceState);
setContentView(R.layout.layout_mensaplanhsulm);
setBehindContentView(R.layout.layout_settings);

mPager = (ViewPager)findViewById(R.id.id_Main_pager);
mIndicator = (TitlePageIndicator)findViewById(R.id.id_Main_titlepageindicator);
mAdapter = new DayTitleFragmentAdapter(getSupportFragmentManager());
mPager.setAdapter(mAdapter);
mPager.setCurrentItem(0);
mIndicator.setViewPager(mPager);

SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setAboveOffset(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
menu.setMenu(R.layout.layout_settings);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setSlidingActionBarEnabled(true);

最佳答案

这就是我使用的:

// customize the SlidingMenu
setBehindContentView(R.layout.menu_frame);
FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
mFrag = new SlidingFragment();
t.replace(R.id.menu_frame, mFrag);
t.commit();

SlidingMenu sm = getSlidingMenu();
sm.setShadowWidthRes(R.dimen.shadow_width);
sm.setShadowDrawable(R.drawable.shadow);
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
sm.setFadeDegree(0.35f);
setSlidingActionBarEnabled(true);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

dimen.xml

<resources>

<dimen name="slidingmenu_offset">60dp</dimen>
<dimen name="list_padding">10dp</dimen>
<dimen name="shadow_width">15dp</dimen>

<integer name="num_cols">1</integer>

</resources>

示例:

https://www.4shared.com/rar/zOWrvmyu/ViewpagerandSherlock.html

此示例可完美运行 viewpager 和 sherlock。

只需在 BaseSampleActivity extends SlidingFragmentActivity 中实现此代码,创建一个简单的 SlidingFragment 即可。

您需要扩展一个 SlidingMenu 类。要同时使用 ActionBar Sherlock 库,您必须遵循自述文件中列出的步骤,尤其是以下步骤:

进入您计划使用的 SlidingActivities,使它们扩展 Sherlock__Activity 而不是 __Activity。

所以你的项目应该扩展 SlidingActivity:

public class Waiter extends SlidingActivity {

并且您需要更改 SlidingMenu 库的副本以使用 ABS。打开 com/slidingmenu/lib/app/SlidingActivity.java 并更改:

public class SlidingActivity extends Activity implements SlidingActivityBase {

到:

public class SlidingActivity extends SherlockActivity implements SlidingActivityBase {
// Add "Sherlock" here: ^^^^^^^^

(对您希望使用的任何其他 SlidingMenu Activity 重复此步骤。)

关于android - 滑动菜单上的奇怪偏移行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14711892/

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