我可以更改"进度线的高度"在Android中的 ProgressBar 中,它比"背景线"达到这个效果?
我已尝试在自定义 progressBarDrawable 的背景和进度项目上设置尺寸,但似乎无法正常工作。
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="false"
android:max="100"
android:progress="50"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:progressDrawable="@drawable/xml_progress_bar_line"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"/>
这是 xml_progress_bar_line.xml 文件。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<size
android:height="5dp"/>
<solid
android:color="@color/grey" />
</shape>
</item>
<item
android:id="@android:id/progress">
<clip>
<shape>
<size
android:height="10dp"/>
<solid
android:color="@color/green" />
<corners
android:radius="10dp"/>
</shape>
</clip>
</item>
</layer-list>
答案 0 :(得分:1)
将layout_height
和@android:style/Widget.ProgressBar.Horizontal
更改为彼此相等,然后明确设置mProgressBar.setScaleY(3f);
。
也可以尝试使用{{1}}
您还可以设置垂直比例 - {{1}}
以下是我的一个例子:This thread
https://xinyustudio.wordpress.com/2014/08/19/android-change-progressbar-height/
答案 1 :(得分:0)
我最终没有使用进度条!
我刚刚在相对布局中使用了2行。这是相应的代码!
以下是进度条背景行xml( xml_custom_progress_bar_bg.xml ):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:radius="4dp"/>
<solid
android:color="@color/light_grey"/>
</shape>
以下是进度条“进度线”xml( xml_custom_progress_bar_progress.xml ):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:radius="4dp"/>
<gradient
android:angle="270"
android:startColor="@color/green"
android:endColor="@color/green"/>
</shape>
这是进度条容器:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:layout_centerVertical="true"
android:background="@drawable/xml_custom_progress_bar_bg"/>
<View
android:layout_width="0dp"
android:layout_height="8dp"
android:layout_centerVertical="true"
android:background="@drawable/xml_custom_progress_bar_progress"/>
</RelativeLayout>
然后,我手动计算进度并以编程方式设置“进度线”的宽度。
答案 2 :(得分:0)
是的,您可以这样添加android:top和android:bottom来做到这一点:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background" android:top=2dp android:bottom=2dp>
<shape>
<size
android:height="5dp"/>
<solid
android:color="@color/grey" />
</shape>
</item>
<item
android:id="@android:id/progress">
<clip>
<shape>
<size
android:height="10dp"/>
<solid
android:color="@color/green" />
<corners
android:radius="10dp"/>
</shape>
</clip>
</item>