如何获得SeekBar进度的高度

DMC*_*DMC 2 android android-seek

我在我的应用程序中定义了一个SeekBar,如下所示:

 <SeekBar
    android:id="@+id/seekbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

我想在它旁边放置一个与SeekBar高度相同的图像.我需要以编程方式设置图像的高度,以便它在所有设备上保持不变.但是我无法获得SeekBar的高度.

下面的代码返回视图的高度而不是SeekBar.

 mReadingSeekBar = (ReadingSeekBar) findViewById(R.id.seekbar);
 mBarHeight = mReadingSeekBar.getHeight();
Run Code Online (Sandbox Code Playgroud)

而且这段代码也不起作用.它只返回0:

mBarHeight = mReadingSeekBar.getProgressDrawable().getMinimumHeight();
Run Code Online (Sandbox Code Playgroud)

有没有办法找到SeekBar的实际大小而不仅仅是视图大小?

DMC*_*DMC 5

我想出了一个更好的方法.我在样式文件中设置ProgressDrawable的高度,以便在所有设备上保持相同的大小.下面是我在样式xml文件中声明它的方式:

<style name="tallerBarStyle" parent="@android:style/Widget.SeekBar">
        <item name="android:indeterminateOnly">false</item>
        <item name="android:progressDrawable">@drawable/styled_progress</item>
        <item name="android:indeterminateDrawable">@drawable/styled_progress</item>
        <item name="android:minHeight">8dp</item>
        <item name="android:maxHeight">21dp</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

然后我在我的SeekBar中使用它,如下所示:

<SeekBar
    android:id="@+id/seekbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/tallerBarStyle" />
Run Code Online (Sandbox Code Playgroud)