首页 > 解决方案 > 不同背景的两层中间的Seekbar

问题描述

我在具有不同背景颜色的两层中间使用了一个 Seekbar。

在正常状态下是可以的。这是图片:

Seekbar 正常状态是 OK

按住 Seekbar 时,上半部分背景错误:

上半部分的Seekbar背景颜色错误

这是布局文件中的代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout ...    
android:background="#23232C"
tools:context=".MainActivity">

<android.support.constraint.ConstraintLayout
    android:id="@+id/player"
    android:layout_width="0dp"
    android:layout_height="56dp"
    android:background="#2F2F38"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@id/imageViewAlbumArt">

    <!-- ... some views ...-->

</android.support.constraint.ConstraintLayout>

<SeekBar
    android:paddingStart="0dp"
    android:paddingEnd="0dp"
    android:id="@+id/seekbar"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="@id/player"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@id/player" />

<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintTop_toBottomOf="@id/player"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent" />

我发现问题在于,当 Seekbar 位于任何视图上方时,背景未显示。这是显示案例的简单布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<View
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:background="#3b3930" />

<SeekBar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="45dp" />

</FrameLayout>

我按照这个stackoverflow链接中的说明进行操作,结果如下: 在此处输入图像描述

无论如何要删除默认的背景颜色行为?

我为底部视图提供了背景颜色,并且搜索栏背景颜色行为消失了。

知道的唯一解决方案。

标签: androidseekbar

解决方案


推荐阅读