设置了android:thumb="@android:color/transparent" SeekBar 滑动到最前和最后的半透明圆球依然存在
时间: 2024-03-16 11:45:34 浏览: 161
如果在布局文件中设置 `android:thumb="@android:color/transparent"` 无效,可以尝试在代码中进行设置。
在 Java 代码中设置可以使用 `setThumb` 方法,示例代码如下:
```java
SeekBar seekBar = findViewById(R.id.seekBar);
Drawable transparentDrawable = new ColorDrawable(Color.TRANSPARENT);
seekBar.setThumb(transparentDrawable);
```
如果您需要去掉 SeekBar 滑动到最前和最后的半透明圆球,还需要在布局文件中设置其他属性,例如 `android:splitTrack="false"`,示例代码如下:
```xml
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:thumb="@android:color/transparent"
android:splitTrack="false" />
```
`android:splitTrack` 属性表示是否绘制拇指和轨道之间的分隔符,默认为 true。将其设置为 false 可以去除 SeekBar 滑动到最前和最后的半透明圆球。
相关问题
Android 如何去除seekba 滑动到最前和最后的半透明圆球
去除 SeekBar 滑动到最前和最后的半透明圆球可以通过设置 SeekBar 的 Thumb 属性来实现。Thumb 属性表示拖动滑块的图标,通过设置为一个完全不透明的图标,就可以去除半透明圆球的显示。具体实现代码如下:
```xml
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:thumb="@android:color/transparent" />
```
或者在 Java 代码中设置:
```java
SeekBar seekBar = findViewById(R.id.seekBar);
seekBar.getThumb().setAlpha(0);
```
这样就可以去除 SeekBar 滑动到最前和最后的半透明圆球了。
Android seekbar 的thumb已经设置为透明,为什么还有会有按下的圆球效果
这是因为 Android SeekBar 默认会给 thumb 添加一个按下效果,即使你将 thumb 设置为透明也不会生效。如果你想要完全去除按下效果,可以通过自定义 SeekBar 的样式来实现。具体来说,可以通过在样式中设置 android:state_pressed 属性的值为 false 来禁用按下效果,示例代码如下:
```xml
<style name="SeekBarStyle" parent="Widget.AppCompat.SeekBar">
<item name="android:state_pressed">false</item>
</style>
```
然后在布局中将 SeekBar 的样式设置为自定义的样式即可:
```xml
<SeekBar
android:id="@+id/seek_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:thumb="@drawable/transparent"
style="@style/SeekBarStyle" />
```
其中,@drawable/transparent 是一个透明的图片,用于将 thumb 设置为透明。
阅读全文