Android Seekbar 无法删除填充/背景

Posted

技术标签:

【中文标题】Android Seekbar 无法删除填充/背景【英文标题】:Android Seekbar can't remove padding/background 【发布时间】:2016-01-27 09:17:46 【问题描述】:

我想要实现的是这样的,一个没有任何顶部和底部填充的搜索栏:

我得到的是:

我什至尝试将背景设置为透明然后为空,但搜索栏的背景变成白色,它看起来不像在第一张图片中,我希望搜索栏看起来像是放置在两个布局之间(上部布局更暗,底部的布局更亮,正如您在两张照片中看到的那样)。我正在使用 xml 中 seekbar 的基本属性,谢谢!

编辑: 这是 XML 中的 seekBar。 我不相信它与根布局有关,因为如果我开始一个新项目并且我正在添加一个搜索栏,它仍然有那个背景,如果我尝试将它设置为透明它就会变成白色。

<SeekBar
        android:id="@+id/window_song_seekbar"
        android:layout_
        android:layout_
        android:background="@color/primaryColor"
        android:paddingLeft="0px"
        android:paddingRight="0px" />

【问题讨论】:

此问题与 seekBar 填充无关,请显示整个 xml 代码以识别问题。 【参考方案1】:

在 xml 中设置以下属性。 'android:paddingStart="0dp" android:paddingEnd="0dp"'

【讨论】:

他问的是顶部/底部填充,而不是开始/结束。【参考方案2】:

最后,我突然想到。为什么不尝试通过java代码修改它。有用!以下是示例代码:

protected void initViews(Context context) 
    LayoutInflater.from(context).inflate(getLayoutResId(), this);
    ButterKnife.bind(this);

    // set style, just once
    seekBar.setProgress(0);
    seekBar.setMax(0);

    seekBar.setPadding(0, 0, 0, 0);

    // ...

【讨论】:

【参考方案3】:

已解决,布局定位错误。我使用 LinearLayout 作为垂直方向的根元素,搜索栏位于两个相对布局的中间,我使用 android:background="@color/myColor" 作为根布局,然后将背景设置为对seekbar 现在我得到了想要的效果。我还将根布局从线性布局更改为相对布局。谢谢! :)

【讨论】:

以上是关于Android Seekbar 无法删除填充/背景的主要内容,如果未能解决你的问题,请参考以下文章

自定义 SeekBar 样式 详解

水平进度条:自定义SeekBar背景

Android SeekBar 自定义

Android SeekBar 自定义

Android SeekBar 自定义

进度部分上的 Seekbar 外阴影