【问题标题】:Unable to resize the thumb of Seekbar android无法调整 Seekbar android 的拇指大小
【发布时间】:2023-03-23 09:49:01
【问题描述】:

我尝试了不同的方法来调整 Seekbar 的拇指大小,但没有成功。
这也是我Seekbar 的拇指按下效果:


我的拇指选择器文件中添加了这两个图像以获得新闻效果:

Lesson_thumb_selector:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/lessons_thumb" android:state_pressed="false"/>
    <item android:drawable="@drawable/lessons_pressed"/>
</selector>

还有我调整拇指选择器大小的拇指文件:

thumb_drawable_lessons.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@drawable/lessons_thumb_selector"
        android:width="50dp"
        android:height="50dp"/>
</layer-list>

我在布局文件中的Seekbar 标记是:

    <SeekBar
    android:id="@+id/sBarLessons"
    android:layout_centerInParent="true"
    android:progressDrawable="@drawable/styledprogrees"
    android:thumb="@drawable/thumb_drawable_lessons"
    style="@style/book_categories_seekbar_style"
    />

style.xml 文件中的样式标签是这样的: 430dp 175dp @颜色/透明 100 10dp 错误的 问题是!当我在 Android Studio 布局预览中看到时,一切看起来都很好:



但是当我在设备上执行和安装 apk 时,它显示的拇指大小相同并且与 Seekbar 错位:

注意:
- 按效果很好。
- 为 10 英寸设备使用相同的图像并尝试为 7 英寸设备调整其大小。
- 请注意对齐不是问题,问题是调整大小。我想按比例缩小拇指的大小。
- 生成 9-patch 对我的解决方案也没有帮助。
- 在我的设备中使用 Lolipop 5.1.1 版本。

我也尝试了这些解决方案,但没有成功:
Android SeekBar thumb gets clipped/cut off
dynamically resized Thumb of SeekBar gets clipped above and below, how to draw on top (Z order)?
Android resizing SeekBar thumb width from maximum value

【问题讨论】:

  • 对齐不是问题,想调整拇指大小! @AmolDesai
  • 尝试使用 android:minWidth 和 android:minHeight 来调整它的大小,如果可行,请告诉我。
  • 也试过了!但它没有生效。 @MyWay

标签: android seekbar android-5.1.1-lollipop seekbar-thumb


【解决方案1】:

几天前我遇到了一个非常相似的问题。我试图设计一个 Switch 小部件的样式,但它的拇指很糟糕(就像你的一样)。但原创作品没有任何问题。我打开原始的drawables,发现它们是9-patch。

所以我将我的图像转换为 9-patch,问题就解决了。

这是在 Android Studio 9 补丁编辑器中打开的拇指(左)和轨道(右)(注意标记)

【讨论】:

  • 看来我没听懂问题。您正在尝试根据屏幕大小动态调整拇指大小?
  • 是的,我想根据设备分辨率从尺寸调整搜索栏拇指图像的大小,我有这些 720 dpi 的图像想要从尺寸调整为 600 dpi 的尺寸
  • 您是否尝试以编程方式调整其大小,然后 setThumb() ?
  • 试图 getThumb() 并设置边界,但也没有成功!并且没有设置drawable宽度和高度的方法!
  • 不工作!仅调整位图大小有效,但调整 bitmapDrawable 大小无效!如果我调整单个位图的大小,则按下效果在搜索栏拇指上不起作用!
猜你喜欢
  • 1970-01-01
  • 2013-02-03
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多