Android:ViewPager - PagerSlidingTabStrip,state_selected 上的自定义选项卡背景

2024-03-05

当每个选项卡都在时,我需要为每个选项卡使用自定义背景状态选择模式。但当我选择一个选项卡时仍然没有任何反应。

我使用这样的选择器:(tab_selector.xml)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true"
         android:drawable="@drawable/gradient_tab" />
    <item android:state_selected="false" 
        android:drawable="@drawable/tab_unselected" />
    <item android:drawable="@drawable/tab_unselected"/>
</selector>

这就是活动主文件:

<com.astuetz.PagerSlidingTabStrip
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="48dip"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/tab_back"
    app1:pstsTabBackground="@drawable/tab_selector"
    app1:pstsIndicatorColor="#00FFFFFF"
    app1:pstsShouldExpand="true" />

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/tabs"
    tools:context=".MainActivity" />

很明显我正在使用寻呼机滑动选项卡条 https://github.com/astuetz/PagerSlidingTabStrip由阿斯图茨。 以下是我如何使用 ViewPager 和 PagerSlidingTabStrip:

final PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setAdapter(mainPagerAdapter);
tabs.setTextColor(Color.WHITE);
tabs.setViewPager(viewPager);

    viewPager.setOnPageChangeListener(new OnPageChangeListener() {
    @Override
    public void onPageSelected(int position) {
        tabs.setViewPager(viewPager);
    }

我尝试混合不同的状态并重新定位它们,但仍然不起作用。 我试图在选定的模式上放置一个特定的选项卡,但我无法弄清楚。


我自己弄清楚了,但不是以标准方式! 由于我需要在所选选项卡上使用类似渐变的背景,因此我使用了指示器和下划线,如下所示:

<com.astuetz.PagerSlidingTabStrip
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="48dip"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/tab_back"
    app1:pstsUnderlineHeight="24dip"
    app1:pstsIndicatorHeight="48dip"
    app1:pstsIndicatorColor="#e7e7e7"
    app1:pstsShouldExpand="true" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:ViewPager - PagerSlidingTabStrip,state_selected 上的自定义选项卡背景 的相关文章

  • Android 键盘调整大小

    我正在开发一个应用程序 其中包含 Activity 和Fragment 在片段布局中 我使用相对布局作为父布局 底部和滚动视图之间的一个按钮 Scrollview包含编辑文本框 如果我点击最后一个editTextBox在滚动视图中我的键盘隐
  • 如何每分钟运行一次BroadcastReceiver?

    我正在开发一个应用程序来每分钟监控网络 我正在为此使用广播接收器 我想每分钟后执行一次 BroadcastReceiver 我该怎么做 我可以在 BroadcastReceiver 中使用 Thread sleep 吗 在android中持
  • 有多少用户获得了更新的应用版本

    我最近将新版本的 Android 应用程序推送到了 Play 商店 并想看看有多少用户已经成功获取更新 似乎有关于 Android 版本和正在使用的设备的统计数据 但我似乎无法找到有关我的用户正在使用的应用程序版本的任何信息 Go to h
  • Cordova 插件回调使用什么线程?

    方法在哪个线程中CallbackContext https github com apache cordova android blob master framework src org apache cordova CallbackCon
  • Oreo (8.1) 无法在锁定屏幕上启动活动

    我正在开发 NFC 支付应用程序 即使设备锁定 屏幕打开时也可以付款 与 Android Pay 的行为基本相同 付款后 我想向用户显示胜利屏幕 通知他付款结果 完成 错误 PIN 请求等 我将其添加到清单中
  • 当选择edittext时,主题/样式不会改变

    我的注册表单中有 Edittext 当用户触摸编辑文本时 编辑文本框变为绿色 表示选择了编辑文本 我不希望这样 当用户选择任何编辑文本时 行吹编辑文本保持白色 请检查此图片以获取更多说明 https i stack imgur com sl
  • Android - Java - 发送 facebook 聊天消息的意图(facebook 禁用 xmpp)

    Facebook 已弃用 xmpp API 有没有办法打开意图 或将数据传递到fb 以在Android设备上发送聊天消息 设备上安装的 Facebook 和 Messenger 应用 谢谢 您需要将 uri 传递给意图 这里10000572
  • 如何在Android中绘制钟形曲线?

    我正在尝试在 Android 中绘制钟形曲线 正态分布 我使用这个方程 自己增加x轴并获得相对于x轴的y轴坐标 for int i 0 i lt 1000 i x float i 0 5 yy float 1 Math sqrt 0 5 M
  • 在 Android 中使用 lambdaj

    有人尝试过在android开发中使用lambdaj库吗 当我创建一个简单的小型java应用程序时 它对我来说工作得很好 但我无法在android应用程序中使用它 UPDATE 我正在添加 lambdaj lambdaj 2 3 2 with
  • 小米和oppo等中国ROM上的工作管理器,在电池优化时,将工作的计划延迟增加几个小时

    小米和 Oppo 等中国 ROM 上的工作管理器在进行电池优化时 会将计划的工作延迟增加几个小时 但是 我注意到一些应用程序即使在电池优化下也能够让计划的作业安静地完美运行 我注意到的一个区别是 它们每次运行作业时都会显示一条通知 那么这是
  • Android 上的推送通知:IBM MQTT

    我对 Android 环境非常陌生 必须使用上给出的 wmqtt jar 示例应用程序来设置客户端http www 01 ibm com support docview wss http www 01 ibm com support doc
  • 方向更改时视图高度/宽度值错误?

    我实现了 onConfigurationChanged 来读取方向配置更改时视图高度和宽度的值 Override public void onConfigurationChanged Configuration newConfig supe
  • 如何限制 Android 设备网络速度以进行测试

    我正在测试一个 Android 应用程序 该应用程序在低质量网络上管理其内容时遇到一些问题 我无法验证问题是否仍然存在 因为以我家的网络速度 120mb s 在我设法开始复制路线之前 所有内容都已经下载完毕 在这种情况下 不能选择使用 An
  • 配置为“ ”的资源“attr/pivotX”的值重复

    一个月后 启动 Android studio 并与 Gradle 同步时 弹出此错误 重建 清理项目不起作用并再次显示相同的错误 我尝试过重建 清理和无效 重新启动项目 但似乎没有任何效果 我已经在这个网站上搜索过这个问题 但似乎仍然没有任
  • 如何使用 Android Studio 在真实设备中测试 Android 应用?

    我开始在android中开发Android Studio IDE 我在上测试了我的应用程序emulator并且工作正常 但是当我尝试直接在我的设备中测试应用程序时 无法识别它并且控制台显示下一条消息 等待设备 未找到 USB 设备 我在运行
  • 如何在运行时将元数据信息写入Android Manifest

    我知道可以编辑 Android 清单组件 例如 将其设置为启用 禁用等 我想在运行时将元值标签插入到 Android 清单的应用程序标签中 我怎样才能直接写入android清单 这是我想直接写入我的应用程序的 Android 清单中的字符串
  • Handler.removeCallbacksAndMessages(null) 和主循环

    在片段的 onDestory 中 我放置了代码来清理我开始使用 Handler postDelayed 的所有挂起的可运行对象 mUiHandler removeCallbacksAndMessages null 我在这里有一个问题 调用
  • Android:如何以编程方式仅圆化位图的顶角?

    我目前正在使用这段代码 Override public Bitmap transform Bitmap source Bitmap result Bitmap createBitmap source getWidth source getH
  • androidx Recycler View 匹配约束 (0dp) 与换行内容行为

    我这里有简单的回收器视图 我想要的是 当列表很短时 将按钮粘贴到回收器视图下方 当列表很长时 将按钮粘在屏幕底部 但回收器视图正确换行并且能够滚动到底部
  • 如何在 Jetpack Compose 中提供相对大小

    我有一个框布局 我想相对于父框的大小来布局子视图 这可以在 SwiftUI 中使用 Geometry Reader 来实现 如何在 Jetpack Compose 中实现类似的功能 您可以使用BoxWithConstraints代替Box

随机推荐