【问题标题】:How to make SeekBar take up full width of parent如何使 SeekBar 占据父级的全宽
【发布时间】:2014-10-26 08:23:01
【问题描述】:

我在RelativeLayout 中有一个SeekBar,其宽度等于屏幕宽度。

我将layout_width="match_parent" 应用于SeekBar,但它似乎在SeekBar 的两侧保留了一些空白空间以容纳拇指。

我也尝试使用android:thumb="@null" 拇指不见了,但两侧的空白空间没有。

我真的需要让SeekBar 的宽度与父母的宽度相匹配。有人可以帮我解决这个问题吗?也许我可以创建一个自定义的SeekBar 类并将宽度设置为 onMeasure() 中的父宽度。如果这是一个可能的解决方案,我不知道如何将父宽度传递给 SeekBar 类。

感谢任何帮助。谢谢。

【问题讨论】:

  • 你能把xml贴出来吗,你用的是原生图形吗?
  • 请显示你想要什么以及你得到什么的xml和截图。

标签: android android-layout seekbar android-seekbar


【解决方案1】:
 android:paddingStart="0dp"
 android:paddingEnd="0dp"

为我工作。

【讨论】:

    【解决方案2】:

    刚刚在我的应用中解决了这个问题。问题是,即使您没有设置 seekBar 填充,您的 appTheme 扩展的主题中也可能存在一些填充(paddingLeft、paddingTop、paddingRight、paddingBottom、paddingStart、paddingEnd)。将这些填充设置为 0dp,它应该可以正常工作。

    【讨论】:

      【解决方案3】:

      在你发布你的xml之前,我猜你的RelativeLayout有如下几行

      android:paddingBottom="@dimen/activity_vertical_margin"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingRight="@dimen/activity_horizontal_margin"
      android:paddingTop="@dimen/activity_vertical_margin"
      

      这意味着你的RelativeLayout没有填满屏幕,seekbar被填满它的父布局(RelativeLayout)。所以你不能得到你想要的视图。

      【讨论】:

      • 我在父视图上没有填充。不过谢谢你的回复。
      【解决方案4】:

      尝试用 xml 中的SeekBar 定义以下内容:

      android:padding="0dp"
      

      【讨论】:

      • 我很惊讶这真的有效!非常感谢。我永远不会想到这一点,因为除非我在布局中明确定义了它,否则我从没想过会有任何填充。
      • 它在 API 17 或更高版本中不起作用stackoverflow.com/questions/33327246/…
      • 正如@wrkwrk 提到的,如果你输入android:padding="0dp" android:paddingEnd="0dp" android:paddingStart="0dp" 一切都会完美运行
      • 必须指定 android:paddingStart="0dp"android:paddingEnd="0dp" 才能工作
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 2018-10-23
      • 1970-01-01
      • 2020-06-26
      • 2022-01-25
      • 1970-01-01
      相关资源
      最近更新 更多