使用 jfeinstein10 库的滑动菜单

2023-11-25

我创建了一个示例应用程序来测试滑动菜单的工作原理。下面的屏幕截图显示的是我现在得到的。但是,当我单击类别按钮(如下图所示)时,我应该会看到一个二级菜单,如下面 zomato 应用程序的屏幕截图所示。我怎样才能做到这一点 ?我是否以正确的方式进行?

enter image description here

enter image description here

我的 SlidingFragmentActivity :

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        con = this;
        setSlidingActionBarEnabled(false);
        setContentView(R.layout.main);
        sm = getSlidingMenu();
        sm.setMode(SlidingMenu.RIGHT);
        sm.setShadowDrawable(R.drawable.shadowright);
        sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
        sm.setBehindScrollScale(1.0f);
        sm.setShadowWidthRes(R.dimen.shadow_width);
        sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        sm.setFadeDegree(0.5f);
        //sm.setSecondaryMenu(R.layout.properties);
        //sm.setSecondaryShadowDrawable(R.drawable.shadow);
        setTitle("Sliding Bar");

        // set the Behind View
        setBehindContentView(R.layout.menu_frame);
        FragmentTransaction t = this.getSupportFragmentManager()
                .beginTransaction();
        mFrag = new SampleListFragment();
        t.replace(R.id.menu_frame, mFrag);
        t.commit();
    }

我的示例列表片段:

public class SampleListFragment extends SherlockFragment {
    private static final String[] Radio_buttons = new String[] { "Distance",
            "Rating" };

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.list, container, false);
        ListView radio_list = (ListView) view.findViewById(R.id.RadioList);
        Button categories = (Button) view.findViewById(R.id.sampleButton);
        radio_list
                .setAdapter(new ArrayAdapter<String>(MainActivity.con,
                        android.R.layout.simple_list_item_single_choice,
                        Radio_buttons));

        radio_list.setItemsCanFocus(true);
        radio_list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        categories.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                MainActivity.sm.showSecondaryMenu();
            }
        });
        return view;
    }
}

main.xml

<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"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Sliding menu demo...!!!" />

</RelativeLayout>

菜单框架.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" />

list.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroller"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:paddingLeft="10dp"
                android:text="SEARCH"
                android:textColor="#FF3300"
                android:textSize="20dp" >
            </TextView>
        </LinearLayout>

        <RelativeLayout
            android:id="@+id/searchTextLayout"
            android:layout_width="match_parent"
            android:layout_height="50dip"
            android:layout_marginBottom="20dip"
            android:layout_marginLeft="20dip"
            android:layout_marginRight="20dip"
            android:layout_marginTop="20dip" >

            <ImageButton
                android:id="@+id/searchTextButton"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:background="#685E5C"
                android:scaleType="fitCenter"
                android:src="@drawable/abs__ic_search" />

            <EditText
                android:id="@+id/searchText"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_toRightOf="@id/searchTextButton"
                android:background="@drawable/background_black_border_full"
                android:padding="8dp"
                android:textColor="@android:color/white" />
        </RelativeLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:paddingLeft="10dp"
                android:text="SORT BY"
                android:textColor="#FF3300"
                android:textSize="20dp" >
            </TextView>
        </LinearLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="134dp" >

            <ListView
                android:id="@+id/RadioList"
                android:layout_width="match_parent"
                android:layout_height="fill_parent" >
            </ListView>
        </RelativeLayout>

        <Button
            android:id="@+id/sampleButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Categories" />

    </LinearLayout>

</ScrollView>

SlidingMenu 不会执行此操作,zomato 使用自定义实现。

SlidingMenu 将让您在leftright,但两边都不是两个。

我会考虑使用视图寻呼机或自定义实现。不管怎样,我不知道有什么现成的东西可以做到这一点。我可能值得一看安卓视图寻求灵感。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jfeinstein10 库的滑动菜单 的相关文章

  • 如何为ScrollView放置固定图像背景?

    我应该想要滚动视图滚动 而不是背景中的图像 将图像添加到滚动视图框架之前的视图层次结构的较高位置
  • 如何对这个字符串进行子串化

    我想得到这个字符串的 4 个部分 String string 10 trillion 896 billion 45 million 56873 我需要的4个部分是 10万亿 8960亿 4500万 和 56873 我所做的是删除所有空格 然
  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • StrictMode 策略违规:我的应用程序中存在 android.os.strictmode.LeakedClosableViolation?

    Android 开发新手 第一次在我的应用程序上尝试 StrictMode 我注意到以下内容 并想知道这是否是我的应用程序或库中的问题 我不太清楚 谢谢你 D StrictMode StrictMode policy violation a
  • Sqlite数据库生命周期?关闭应用程序后它会被删除吗?

    我正在遵循一个简单的教程 该教程创建一个从 SQLiteOpenHelper 扩展的类 并创建一个包含一个表和 5 行的数据库 好的 但我需要更多地了解 android Sqlite 数据库 例如 如果应用程序关闭或手机关机会发生什么 数据
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • 获取当前 android.intent.category.LAUNCHER 活动的实例

    我创建了一个库项目 并在多个应用程序之间共享 我实现了一个简单的会话过期功能 该功能将在一段时间后将用户踢回到登录屏幕 登录屏幕活动是我的主要活动 因此在清单中它看起来像这样
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 在 android DatePickerDialog 中将语言设置为法语

    有什么办法可以让日期显示在DatePickerDialog用法语 我已经搜索过这个但没有找到结果 这是我的代码 Calendar c Calendar getInstance picker new DatePickerDialog Paym
  • Android Studio - Windows 7 上的 Android SDK 问题

    我对 Google i o 2013 上发布的最新开发工具 Android Studio 有疑问 我已经成功安装了该程序并且能够正常启动 我可以导入现有项目并对其进行编辑 但是 当我尝试单击 SDK 管理器图标或 AVD 管理器图标时 或者
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • fgets 实现 (K&R)

    我是编程新手 从 Objective C 开始 但决定在进一步发展之前先回到基础知识 我花了一些时间在 C 上 并且正在努力克服指针混乱 我的问题是关于 K R 所说的 fgets 是如何实现的 第 165 页 第二版 下面的代码直接来自文
  • 在片段中运行时更改方向时更改布局,而无需重新创建视图

    我尝试开发第一个应用程序 从网络下载图像并在网格视图中显示它们 gridview 是主 Activity 的一个片段 下载过程是通过 onCreate 函数中的 AsyncTask 完成的 为了在改变方向时不再次下载图像 我设置了andro
  • XML 数据类型方法“值”必须是字符串文字[重复]

    这个问题在这里已经有答案了 如何更改我的查询以免发生此错误 XML 数据类型方法 值 必须是字符串文字 T SQL代码 Declare Count Int 1 While count lt j Begin insert into mytab
  • 使用Google Closure编译器[重复]

    这个问题在这里已经有答案了 可能的重复 使用 Google Closure Compiler 编译 jQuery 我正在使用 jQuery 并且我的所有 JS 代码都在 application js 文件中 当我使用 Google Clos
  • 在 Android 上从 GPS 提供商获取“粗略”位置

    我的应用程序只需要非常粗略的位置数据 因此我最初将清单权限设置为ACCESS COARSE LOCATION 并设置一个位置侦听器NETWORK PROVIDER 这为我提供了我所需要的粗略位置估计 但前提是 Google 定位服务已打开
  • 论坛如何向您显示未读主题?

    我有用 php mysql 编码的用户讨论论坛 我想知道知名论坛如何向您显示哪些主题中有新帖子 通常是通过更改线程旁边的图标图像而不使用任何资源 The simplest方法是跟踪某人上次登录的时间 当他们回来访问时 从那时起更新的所有内容
  • iOS 13 `withTintColor` 不遵守我分配的颜色

    我发现新的 iOS 13 UIImage 属性的行为withTintColor renderingMode 难以理解 它的用途是什么 它与图像出现的上下文的色调颜色有何关系 例如 let im UIImage systemName circ
  • 字符串集??!​​!

    您熟悉这个块 Var mySet Set Of Char C Char begin mySet a b c If C In mySet Then ShowMessage Exists end 有什么办法可以申报吗Set Of STRING
  • 为什么我不能在 IE7 中使用相对 URL?

    我已经用谷歌搜索了一段时间 似乎找不到这个问题的答案 我的问题如下 对于我的 jquery 我需要我的链接是相对的而不是绝对的 我的 PHP 设置为返回相对 url 一切正常 直到我在 IE7 中测试它 由于某种原因 IE7 不断将我的相对
  • 如何删除名称以“-”开头的分支

    在尝试创建跟踪分支时 我设法创建了一个名为 t 的本地分支 我无法删除分支 因为分支名称也是一个参数 这是在 Windows 机器上 git branch D t fatal branch name required 逃避也无济于事 git
  • jQuery和prototype.js冲突,如何保持jQuery为$?

    所以我正在开发一个同时使用 jQuery 和prototype js 的网站 但是它们是冲突的 我进行了相当多的研究 发现人们解决这个问题的唯一方法是使用
  • 无状态类仿函数什么时候可以代替 C 风格函数?

    我在 SO 上找到了一些很好的函子示例 例如this一 所有令人信服的例子似乎都在定义的类中使用了状态operator 我在一本书中遇到一个例子 它定义了没有状态的函数调用运算符 我不禁觉得这是一种尴尬的用法 并且普通风格的函数指针会比使用
  • LocationManager 返回旧的缓存“Wifi”位置和当前时间戳

    我正在尝试获取当前位置 为此 我实现了一个 LocationListener 并将其注册到网络和 GPS 提供商 locationManager requestLocationUpdates LocationManager GPS PROV
  • 将 Objective-C 应用程序链接到 C++ 静态库

    我正在尝试使用 Xcode 构建一个链接到静态 C 库的 Objective C 桌面应用程序 我正在使用苹果的 clang 编译器 我收到以下链接器错误 Apple clang version 3 0 tags Apple clang 2
  • 使用 GroovyShell 从 Gradle 运行 Groovy 脚本:线程“main”中出现异常 java.lang.NoClassDefFoundError:org/apache/commons/cli/ParseException

    我想从我的 Gradle 构建脚本运行一个 groovy 命令行脚本 我在 Gradle 脚本中使用此代码 def groovyShell new GroovyShell groovyShell run file script groovy
  • 覆盖电子

    我想知道是否可以将电子制作的应用程序覆盖在游戏上 本质上类似于游戏中蒸汽覆盖的方式 我想要这个 因为我们已经制作了一个计时器网络应用程序来计时任务 并正在讨论如果可能的话将其作为覆盖层 为游戏中重复发生的某些事件计时 我不知道这是否可以实现
  • cassandra将数据从一个列族复制到另一个列族

    我是卡桑德拉的新手 我需要将数据从一个columnFamily复制到cassandra中同一键空间中的另一个columnFamily 比如说 我们在键空间K1中有一个A1columnFamily 所以现在我需要在同一键空间K1中创建colu
  • DN 的 JavaScript 正则表达式

    我想要一个正则表达式来验证所有类型的可能 DN 我创建了一个 但效果不太好 A z0 9 1 A z0 9 1 and 其他一些改变它 但徒劳无功 可能的 DN 可以是 CN abcd CN abcd O abcd C us CN abcd
  • 获取函数调用者的范围

    我有一个函数在 ExtJS 第 1433 行的某个地方中断 var createDelayed function h o scope console log arguments logs undefined all round return
  • 使用 jfeinstein10 库的滑动菜单

    我创建了一个示例应用程序来测试滑动菜单的工作原理 下面的屏幕截图显示的是我现在得到的 但是 当我单击类别按钮 如下图所示 时 我应该会看到一个二级菜单 如下面 zomato 应用程序的屏幕截图所示 我怎样才能做到这一点 我是否以正确的方式进