2

我已经搜索了几个小时的任何解决方案,但找不到一个。所以这是我的问题,正如我所见,这是一个非常普遍的问题:

在此处输入图像描述

搜索栏中的拇指,没有居中...我已经通过 9patch 制作了这个自定义搜索栏。据说我应该在 stackoverflow 的许多响应中将其 minHeight 和 maxHeight 设置为相同的大小。但是即使我设置了它们,它仍然会像这样显示......这真的很令人不安,有什么办法可以解决这个问题吗?

这是xml:

<SeekBar
     android:id="@+id/seek"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_centerVertical="true"
     android:layout_marginLeft="@dimen/padding_small"
     android:max="100"
     android:progress="60"
     android:maxHeight="@dimen/playerSeekBarHeight"
     android:minHeight="@dimen/playerSeekBarHeight"
     android:progressDrawable="@drawable/progress_bar_player"
     android:thumb="@drawable/player_sound_thumb"
     android:paddingLeft="6dp"
     android:paddingRight="6dp" />

提前致谢。

4

4 回答 4

5

找不到解决方法,仍然不知道是什么问题。为什么将 minHeight 和 maxHeight 设置为每个人的相同尺寸,但在我的情况下却没有?无论如何,所以我将一些空像素放入拇指图像中并且它可以工作。

但我将不胜感激任何更有效的方式来处理这种情况。

于 2013-04-11T15:39:32.830 回答
3

是的,最小高度最大高度也对我不起作用。我的问题是当我决定为高分辨率屏幕创建布局时。当我使屏幕中的每一行都变大时,我虽然可以“match_parent”高度,但一切都会好起来的。但不,我有上面的问题。

我通过返回“wrap_content”的高度解决了这个问题,删除了 minHeight 和 maxHeight 标签,然后使用 layout_marginTop 将其向下移动到水平线性布局的中心。

我使用的是默认搜索栏。

希望这对某人有帮助!

于 2014-07-17T05:38:27.630 回答
0

试试这个 seekbar_progress_bg.xml

<?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <clip >
        <bitmap
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:antialias="true"
            android:dither="false"
            android:filter="false"
            android:gravity="left"
            android:src="@drawable/progress_bar_player">
         </bitmap>
    </clip>
</item>

seekbar_progress.xml

<?xml version="1.0" encoding="utf-8"?>

<item android:id="@android:id/background">
     <nine-patch
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:dither="true"
        android:src="@drawable/whitepatch">
      </nine-patch>
</item>
<item android:id="@android:id/secondaryProgress">
       <clip >
           <shape >
              <gradient
                android:angle="270"
                android:centerColor="#80127fb1"
                android:centerY="0.75"
                android:endColor="#a004638f"
                android:startColor="#80028ac8">
               </gradient>
          </shape>
       </clip>
 </item>
 <item
         android:id="@android:id/progress"
         android:drawable="@drawable/seekbar_progress_bg">
 </item>

xml

<SeekBar
                            android:id="@+id/seekbar_bar"
                            style="?android:attr/progressBarStyleHorizontal"
                            android:layout_width="420dip"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="0dip"
                            android:layout_marginTop="12dip"
                            android:maxHeight="9dp"
                            android:minHeight="9dp"
                            android:progressDrawable="@drawable/seekbar_progress"
                            android:thumb="@drawable/player_sound_thumb" />

从此链接自定义搜索栏

于 2013-03-29T11:11:28.597 回答
0

在我的情况下,设置最小高度和最大高度也不起作用。

我通过使用 minHeight 和 maxHeight 值来做到这一点。将 minHeight 设置为比 maxHeight 大近 2 倍或更多对我来说是诀窍。尝试为两者设置不同的值。应该锻炼...

于 2014-06-17T08:39:15.110 回答