如何从Material水平进度条中移除顶部和底部间距?

4

我曾经通过编辑可绘制的png文件来删除文件外部的填充,对Holo进度条做了同样的事情,但是我找不到Material Bar的png可绘制文件。如果有人能指点我如何找到它,那就太好了!

我看到有人建议我简单地将ProgressBar设置为具有负上边距或下边距,但这并不是一个真正的解决方案,并且在不同的手机上并不一致。

我的XML目前看起来像这样:

<FrameLayout
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="@dimen/header_height"
    android:background="@color/green">

    <ProgressBar
        android:id="@+id/ticket_state_progress_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:indeterminate="true"
        style="?android:attr/indeterminateProgressStyle"/>

</FrameLayout>

并且样式:

<style name="linear_progress" parent="Widget.AppCompat.ProgressBar.Horizontal">
    <item name="android:indeterminateTint">@color/progress_bar_yellow</item>
    <item name="android:backgroundTint">@color/progress_bar_yellow_background</item>
</style>

目前进度条出现在标题底部几个像素之上,尽管该空间也被进度条视图所覆盖。我希望进度条本身可以与标题底部齐平。感谢您提供的任何帮助 :)

你的布局里只有一个进度条吗?试试使用android:layout_height="match_parent"代替"wrap_content"。 - DarkCygnus
很不幸,框架布局要大得多,因为它代表了一个带有进度条的颜色块。但是我可以尝试将ProgressBar放入另一个具有指定高度的视图中。我会尝试并回复您 :) - Richard Bridge
1个回答

1

添加负边距(android:layout_marginTopandroid:layout_marginBottom):

<ProgressBar
  android:id = "@+id/myProgressBar"
  style = "?android:attr/progressBarStyleHorizontal"
  android:layout_width = "match_parent"
  android:layout_height = "wrap_content"
  android:layout_marginTop="-6dp"
  android:layout_marginBottom="-6dp"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接