You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用com.ebanx滑动按钮模拟器正常,打包APK安装后按钮不显示是什么原因

修复方案

1. 修正布局硬编码尺寸(最高概率原因)

你当前给SwipeButton设置了固定的大尺寸和边距:

android:layout_width="563dp"
android:layout_marginStart="469dp"

这类参数只适配你测试用的模拟器屏幕,在普通真机上,469dp的左侧边距已经超出绝大多数手机的屏幕宽度,直接将按钮挤出了可视区域,模拟器正常但真机不显示90%都是这个原因。
你可以替换为自适应的布局配置,比如居中放置,适配所有屏幕尺寸:

<com.ebanx.swipebtn.SwipeButton
    android:id="@+id/swipe_button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_marginHorizontal="32dp"
    android:minHeight="100dp"
    app:button_background="@drawable/swipe_button_shape"
    app:button_bottom_padding="10dp"
    app:button_image_disabled="@drawable/ic_right_arrow_simple"
    app:button_image_enabled="@drawable/ic_right_arrow_double"
    app:button_left_padding="15dp"
    app:button_right_padding="2dp"
    app:button_top_padding="10dp"
    app:inner_text=">>  KÉRLEK LÉPJ BE  >>"
    app:inner_text_background="@drawable/swipe_inner_text_shape"
    app:inner_text_bottom_padding="28dp"
    app:inner_text_color="#C9DC17"
    app:inner_text_size="25sp"
    app:inner_text_top_padding="28dp" />

2. 检查资源存放路径

确认ic_right_arrow_simple、ic_right_arrow_double两个图标,以及swipe_button_shape、swipe_inner_text_shape两个shape文件的存放位置:

  • 通用shape文件请放在无分辨率后缀的drawable文件夹下,不要放在drawable-xxhdpi这类限定分辨率的文件夹中
  • 图标资源需要覆盖主流分辨率的drawable文件夹,避免低分辨率设备加载不到资源导致按钮渲染失败

3. 检查Debug构建配置

如果你的app模块build.gradle中debug构建分支开启了minifyEnabled true或者shrinkResources true,会出现类被混淆或者资源被误裁剪的问题,你可以临时关闭这两个配置测试按钮是否恢复显示。

4. 库版本适配验证

你当前使用的0.4.0版本swipe-button库最低兼容Android 4.4,对Android 8没有适配问题,也可以尝试升级到最新稳定版本测试兼容性。


内容的提问来源于stack exchange,提问作者Peter Horvath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:24:07