用选项卡主机滑动

2023-11-29

我有一个 TabHost 控件(不在操作栏中),并且我想让选项卡在用户滑动每个选项卡上的上下文(类似于 Whatsapp 表情符号选项卡)时进行更改。
我怎样才能做到这一点?

EDIT
手感也很重要。我希望上下文应该有滚动动画(无论用户是否滑动或单击选项卡)。


您可以重写 onTouchEvent:

@Override
public boolean onTouchEvent(MotionEvent touchevent) {
    switch (touchevent.getAction()) {
    // when user first touches the screen to swap
    case MotionEvent.ACTION_DOWN: {
        lastX = touchevent.getX();
        break;
    }
    case MotionEvent.ACTION_UP: {
        float currentX = touchevent.getX();

        // if left to right swipe on screen
        if (lastX < currentX) {

            switchTabs(false);
        }

        // if right to left swipe on screen
        if (lastX > currentX) {
            switchTabs(true);
        }

        break;
    }
    }
    return false;
}

切换选项卡方法:

public void switchTabs(boolean direction) {
        if (direction) // true = move left
        {
            if (tabHost.getCurrentTab() == 0)
                tabHost.setCurrentTab(tabHost.getTabWidget().getTabCount() - 1);
            else
                tabHost.setCurrentTab(tabHost.getCurrentTab() - 1);
        } else
        // move right
        {
            if (tabHost.getCurrentTab() != (tabHost.getTabWidget()
                    .getTabCount() - 1))
                tabHost.setCurrentTab(tabHost.getCurrentTab() + 1);
            else
                tabHost.setCurrentTab(0);
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用选项卡主机滑动 的相关文章

  • 在 Android 中动态填充年份的微调器?

    我一直在绞尽脑汁试图让它发挥作用 我想动态地将 1900 年到当前年份的年份输入到旋转器中 我认为使用 XML 定义的数组不可能做到这一点 但是我可以使用数组适配器来做到这一点吗 这是我到目前为止所拥有的 ArrayList
  • 确定是否在已取得 root 权限的设备上运行

    我的应用程序具有某些功能 该功能只能在具有 root 权限的设备上运行 与其让此功能在使用时失败 然后向用户显示适当的错误消息 我更喜欢能够先默默地检查 root 是否可用 如果不可用 则首先隐藏相应的选项 有没有办法做到这一点 这是一个类
  • 更改首选项的背景颜色

    我有一个PreferenceCategory xml 文件 我已经在其中定义了所有首选项 我从扩展的类中调用它PreferenceActivity 我无法设置设置屏幕的背景 该屏幕是在如下所示的 xml 文件的帮助下显示的 请看我已经定义了
  • Sqlite 查询检查 - 小于和大于

    return mDb query DATABASE TABLE new String KEY ROWID KEY LEVEL KEY LEVEL gt 3 lt 5 null null null null 我究竟做错了什么 它返回的值全部高
  • 服务在后台运行?

    我正在构建的应用程序的功能之一是记录功能 我通过在服务中启动 MediaRecorder 对象来实现此目的 Intent intent new Intent v getContext RecordService class Messenge
  • ActionBarCompat 支持库 android:selectableItemBackground 不起作用

    我正在使用新的 ActionBarCompat 支持库 操作栏中的操作按钮在按下时应更改其背景 它适用于 Android 4 3 但不适用于 Gingerbread 在姜饼中 如果我按下按钮 它不会改变背景 我什至改变了选择器 它再次适用于
  • 如何使用 (a)smack 在 Android 上保持 XMPP 连接稳定?

    我使用适用于 Android 的 asmack android 7 beem 库 我有一个后台服务正在运行 例如我的应用程序保持活动状态 但 XMPP 连接迟早会在没有任何通知的情况下消失 服务器表示客户端仍然在线 但没有发送或接收数据包
  • 为网络和/或持久存储序列化 Android Bundle?

    我需要序列化一个全面的应用程序 游戏 状态 以便通过网络传输或保存到磁盘并在以后检索 当然 捆绑包用于在多个用例中保存 恢复状态 因此使用它们将是理想的选择 但是 由于某种原因 Bundle 不可序列化 寻找解决方案只发现了将 Bundle
  • 如何在 Android 中创建刮刮卡?

    我需要为我在学校的期末项目创建一个 刮刮卡 应用程序 但找不到如何实现刮刮事件的方法 如何创建背景图像并在其上放置灰色矩形 所以当我刮刮这些矩形时我会看到他们下面的图片 实现必须在 Android 中 因为我还不知道如何在 Objectiv
  • 用于代码生成的 ANTLR 工具版本 4.7.1 与当前运行时版本 4.5.3 不匹配

    我正在开发一个 Android 应用程序 当前使用 DSL 和一些库 突然构建给了我这个错误 任务 app kaptDebugKotlin 失败 用于代码生成的 ANTLR 工具版本 4 7 1 与当前运行时版本 4 5 3 不匹配 用于解
  • Android 在创建时出现 SQLiteException

    首先我想说我是android新手 所以如果这个问题太愚蠢我很抱歉 我正在为带有两个表的 SQLite 数据库编写一个内容提供程序 表格上是在导航抽屉活动中显示列表 第二个表格是在 ListFragment 中显示 每次启动应用程序时 我都会
  • 来自外部 XML 的 Android 本地化

    是否可以使用从服务接收到的 XML 在运行时翻译 Android 应用程序 如果可能的话 请有人指出我正确的方向 谢谢 Warning 我读到的所有内容都表明 让您的应用程序更改语言不是一个好主意 因为 Android 框架不支持它 并且可
  • 我可以使用“导入 com.facebook.FacebookSdk;”使用 Facebook SDK 3.23.1?

    在我的 app build gradle 文件中 我有compile com facebook android facebook android sdk 3 23 1 在我的 BaseActivity java 文件 其中有 public
  • 将搜索结果更新为 Android 中的 Lazy Adapter

    我有项目列表 想为其实现搜索功能 因此 我有一个带有 addTextChangedListener 的文本框 搜索结果运行良好 但当我尝试将结果设置为 ListView 时 新结果将附加到旧结果中 我正在使用惰性适配器 如何清除适配器中的旧
  • ImageButton 拉伸背景图像

    我正在尝试创建一个没有边框的 ImageButton 但遇到了图像按钮大小的问题 我使用 Eclipse ADT 将 ImageButton 拖到布局中并选择背景图像 图像按钮显示如下 正如您所看到的 背景图像和图像按钮周边之间有一个边框
  • Android - 内容值覆盖现有行

    我正在尝试使用插入值ContentValues 我已将 5 个值插入到 5 列中 运行应用程序后 我只有最后一组值的行ContentValues 前四组未插入 ContentValues cv new ContentValues cv pu
  • 如果联系人与电话通讯录中的应用程序关联,则显示应用程序图标

    我正在尝试显示与该应用程序关联的电话号码的应用程序图标 我试着跟随this http www c99 org 2010 01 23 writing an android sync provider part 1 链接但是太难了 有没有任何库
  • 如何使用asynctask显示倒计时的进度条?

    在我的应用程序中 我希望用户按下按钮 然后等待 5 分钟 我知道这听起来很糟糕 但就这样吧 5 分钟等待期间的剩余时间应显示在进度条中 我使用带有文本视图的 CountDownTimer 来倒计时 但我的老板想要看起来更好的东西 这就是进度
  • 我可以在主线程上读取一个小 txt 文件,还是应该始终避免那里的 I/O?

    我正在读取一个小的 json 文件 其中有几行 它存储在用户设备的内部应用程序文件夹中 我所做的就是这样 JSONObject jsonObject new JSONObject MyUtils inputStreamToString My
  • 在 TextView onTextChanged 上设置文本

    我有一个定义为类属性的文本视图 以便我可以在整个类中访问它 在 onCreate 方法中我执行以下操作 chars TextView findViewById R id chars chars setText 300 之后 public v

随机推荐

  • bash 中双引号字符串内的单引号不被接受

    我正在尝试在 bash 中分配一个变量 assignssid airport I awk SSID print substr 0 index 0 2 当我当前这样做时 然后运行echo assignssid 结果如下所示 airport I
  • 将 onclick 打开超链接事件添加到在 R 中创建的 html 小部件

    我希望能够做类似的事情这个的答案但不使用闪亮 我还想绑定打开与数据点关联的超链接的 onclick 事件 我正在使用saveWidget函数来自htmlwidgets并知道我可以插入 javascript 代码appendContent函数
  • 使用菱形运算符创建通用数组

    今天 我遇到了 Java 7 泛型数组创建的奇怪情况 看看下面两条语句 Map
  • 使用 iOS 共享/操作扩展截取主机应用程序的屏幕截图?

    我想知道如何使用共享 操作扩展来截取 iOS 主机应用程序的屏幕截图 我的用例如下 使用Safari浏览器访问网页 https如gmail 点击共享按钮并选择扩展程序 该扩展程序将截取当前网页的屏幕截图 此用例的一个工作示例是很棒的 iOS
  • Invoke-Command:找不到接受参数的位置参数

    我在 powershell 中使用以下脚本遇到上述问题 我似乎找不到问题所在 该脚本需要 2 个参数 我已在命令行上提供了它们 但它仍然抛出错误 Command PS C gt powershell exe ExecutionPolicy
  • 用于显示Excel数据的Java库[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 在我们的 Java 应用程
  • 目前只有一种产品添加到 Woocommerce 购物车中?

    我希望 Woocommerce 只允许购物车中添加 1 个产品 如果购物车中已存在一种产品 并且添加了另一种产品 则应删除前一种产品 我在网上找到了这段代码 When an item is added to the cart remove
  • 无法在单个产品页面上删除 WooCommerce 产品标题

    我无法删除单个页面上 WooCommerce 产品的默认标题 标题没有任何标签供我通过 css 隐藏它 我也尝试过使用 remove action woocommerce single product summary woocommerce
  • jQuery - 获取选择列表中选项的像素宽度?

    通过以下内容 我可以获得选择输入的宽度 以像素为单位 是否可以获取选择列表中选项的宽度 谢谢 mySelect width 更新 这就是我想要这个的原因 我需要将文本放在选择列表中居中 我无法使用 css text align center
  • 如何使用 masm 中的库或更具体地说是 .lib 文件?

    我已经使用 Visual Studio 2010 制作了一个 lib 文件 现在我想在 masm 中使用它 我怎样才能做到这一点 需要帮忙 我试图在互联网上查看它 但找不到有关如何执行此操作的任何准确答案 这是我使用 Visual C 20
  • 为什么 Laravel API 在 POST 和 PUT 方法上返回 419 状态代码?

    我正在尝试使用 Laravel 创建 RESTful API 我已经使用创建了我的控制器php artisan make 控制器 RestController这是我的控制器代码
  • xcode7 调试器发生了什么变化,我无法再使用“po”/Swift 查看变量

    好吧 xCode7 Swift 发生了什么变化 我不能再使用 poframe 来查看 CGRect 的内容了 打印语句在代码中运行得很好 为什么我不能像以前那样在调试器控制台中查看它 var frame self myLabel frame
  • MFT 编码器 (h264) CPU 利用率高

    我能够使用 Media Foundation Transform MFT 成功地通过 H264 对数据进行编码 但不幸的是我的 CPU 非常高 当我在程序中评论该函数的调用时 我的 CPU 很低 只需执行几个步骤即可获得编码 所以我无能为力
  • 优化 PostgreSQL 中的查询

    SELECT count FROM contacts lists JOIN plain contacts ON contacts lists contact id plain contacts contact id JOIN contact
  • Spring MVC 3.1 REST服务post方法返回415

    我正在做一个 Spring MVC 控制器 但 POST 操作仍然遇到问题 我在 stackoverflow 上阅读了许多解决方案 但没有解决我的问题 我目前的成就 我发送了带有 Id 的 GET 请求 并成功返回了转换为 JSON 的对象
  • 为什么 document.write() 之后的代码没有执行?

    我有以下 JavaScript
  • 通过 Android 应用程序连接到 OracleDB

    感谢您的浏览 希望您能帮助我 目前 我想通过我的 Android 应用程序从 OracleDB 服务器 在 LAN 上 获取一些数据 我将 JDBC 与 ojdbc14 jar 以及 Android 应用程序中的以下代码以及 logcat
  • CSS 向左下方浮动

    我有很多高度可变的 div 我需要这些 div 彼此排序 但是当它们到达窗口末尾时 gt 创建新的 列 现在 div 溢出了 但我需要创建新的 列 BTW 我有使用以下解决方案 webkit column gap 16px webkit c
  • 如何使用包编译和运行java类

    我在文件 MyClass java 文件中有一个名为 MyClass 的类 代码如下 package myclass class MyClass public int add int a int b return a b public st
  • 用选项卡主机滑动

    我有一个 TabHost 控件 不在操作栏中 并且我想让选项卡在用户滑动每个选项卡上的上下文 类似于 Whatsapp 表情符号选项卡 时进行更改 我怎样才能做到这一点 EDIT手感也很重要 我希望上下文应该有滚动动画 无论用户是否滑动或单