小编use*_*400的帖子

如何处理片段上的触摸事件?

我正在构建一个我需要处理触摸事件的界面.特别是我能够将它们仅启用到片段中的受限区域.为了更好地理解问题,尊重标准和我的应用程序的目标,我计划了导航抽屉,它假设存在许多片段(而不是活动).触摸事件的活动很容易实现,另一方面,我在互联网上读到,片段可能会成为一个问题.

我的应用程序在体系结构级别如下: - MainActivity.java - NavigationDrawer.java - TestFragment.java(现在单个片段,等待解决问题)

我没有找到解释如何做得好(或如何解决问题)的解决方案或教程.然后我问你,简化问题只是" 在片段中启用触摸事件(在这种情况下为getPressure()) ".下面是一些可能有助于解决问题的代码:

TestFragment

public class TestFragment extends Fragment {
    private static final String ARG_SECTION_NUMBER = "section_number";

    public static TestFragment newInstance(int sectionNumber) {
        TestFragment fragment = new TestFragment();
        Bundle args = new Bundle();
        args.putInt(ARG_SECTION_NUMBER, sectionNumber);
        fragment.setArguments(args);
        return fragment;
    }

    public TestFragment() {}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_test, container, false);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

android ontouchlistener touch-event android-fragments

42
推荐指数
1
解决办法
6万
查看次数

如何使用Fragments在NavigationDrawer上隐藏OptionsMenu?

我正在创建Android应用程序,我试图尽可能地尊重最新的Android可用性标准.特别是,我正在使用导航抽屉准备用户界面,我正在努力确保与2.1+ Android版本的兼容性.为了理解这个问题,该项目包括:

  • 主要活动;
  • 导航抽屉;
  • 四个片段(与其相关的布局).

打开导航抽屉时遇到的问题是:虽然每个Fragment都有其特定菜单,但当我打开导航抽屉时,它会被添加到导航抽屉菜单中.我尝试了几种方式(invalidateOptionMenu(),menu.clear()操作函数isDrawerOpen()isDrawerClose()),但Fragment打开导航器时我无法删除菜单.

这些是我的代码的一些片段,其中大部分是由Android Studio生成的,我正在使用的IDE:

在主要活动中:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    if (!mNavigationDrawerFragment.isDrawerOpen()) {
        // Only show items in the action bar relevant to this screen
        // if the drawer is not showing. Otherwise, let the drawer
        // decide what to show in the action bar.
        getMenuInflater().inflate(R.menu.global, menu);
        restoreActionBar();
        return true;
    }
    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

其中"global"是一个带有经典"ic_action_overflow"的简单菜单.

在我的片段中,我:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-optionsmenu navigation-drawer

10
推荐指数
3
解决办法
1万
查看次数