在android中双方四舍五入的进度条

在android中双方四舍五入的进度条,第1张

概述我想在android中创建一个自定义进度条.我已经使用了以下xml文件(progress_bar_horizo​​ntal.xml):<?xmlversion="1.0"encoding="utf-8"?><layer-listxmlns:android="http://schemas.android.com/apkes/android"><itemandroid:id="@and

我想在android中创建一个自定义进度条.我已经使用了以下xml文件(progress_bar_horizo​​ntal.xml):

<?xml version="1.0" enCoding="utf-8"?> <@R_887_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID">  <item androID:ID="@androID:ID/background">   <shape>    <corners androID:radius="8dip" />    <stroke androID:wIDth="2dip" androID:color="#FFFF"/>    <solID androID:color="#FFFF"/>                 </shape>  </item>  <item androID:ID="@androID:ID/secondaryProgress">   <clip>    <shape>     <corners androID:radius="8dip" />     <stroke androID:wIDth="2dip" androID:color="#FFFF"/>     <solID androID:color="#FF00"/>     </shape>   </clip>  </item>  <item androID:ID="@androID:ID/progress">   <clip>    <shape>     <corners androID:radius="8dip" />     <stroke androID:wIDth="2dip" androID:color="#FFFF"/>     <solID androID:color="#FF00"/>     </shape>   </clip>  </item> </@R_887_3419@>

除了事实上我希望双方的进度条都有进展之外,一切都很有效.上述代码使得进度条在左侧被舍入并且简单地在右侧切割(不是圆形).这可能是因为剪辑标签.你能帮帮我吗?我应该改变什么才能在我的进度条中取得进展?

完整的布局如下:

<?xml version="1.0" enCoding="utf-8"?> <linearLayout  xmlns:androID="http://schemas.androID.com/apk/res/androID"  androID:layout_wIDth="fill_parent"  androID:layout_height="wrap_content"  androID:orIEntation="vertical">  <linearLayout  androID:layout_wIDth="fill_parent"  androID:layout_height="wrap_content"  androID:orIEntation="vertical"  androID:background="@drawable/gradIEnt_progress"  androID:padding="10dip"  >   <linearLayout   androID:layout_wIDth="wrap_content"   androID:layout_height="wrap_content"   androID:orIEntation="horizontal"   >    <TextVIEw     androID:ID="@+ID/progress_header"     androID:layout_wIDth="wrap_content"     androID:layout_height="wrap_content"     androID:textcolor="#FF000000"     androID:textAppearance="?androID:attr/textAppearanceMedium"     androID:textStyle="bold"     androID:text="Uploading"                   />    <TextVIEw     androID:ID="@+ID/progress_percent"     androID:layout_wIDth="wrap_content"     androID:layout_height="wrap_content"     androID:textcolor="#FF000000"     androID:textAppearance="?androID:attr/textAppearanceMedium"     androID:textStyle="bold"     androID:text="55%"              androID:paddingleft="10dip"    />         </linearLayout>             <Progressbar    androID:ID="@+ID/progress_bar"        androID:layout_gravity="center"    androID:layout_wIDth="fill_parent"    androID:layout_height="wrap_content"    androID:progressDrawable="@drawable/progress_bar_horizontal"    androID:maxHeight="12dip"        androID:minHeight="12dip"        androID:max="100"    />  </linearLayout> </linearLayout>

以下是我努力的结果:link text

我希望红色的条纹在右侧也有圆角.
非常感谢你的评论.

解决方法:

这是时代的更新答案:

AndroID源代码使用Patch 9文件来实现效果:
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4_r1/frameworks/base/core/res/res/drawable/progress_horizontal_holo_dark.xml/

所以从布局xml开始:

<Progressbar    androID:ID="@+ID/custom_progress_bar"        androID:indeterminateOnly="false"    androID:progressDrawable="@drawable/custom_progress_bar_horizontal"    androID:layout_wIDth="fill_parent"    androID:layout_height="wrap_content"    androID:minHeight="13"    androID:progress="33"    androID:secondaryProgress="66" />

你可以将很多这个移动到一个样式xml,但这不是重点.我们真正关心的是androID:progressDrawable =“@ drawable / custom_progress_bar_horizo​​ntal” – 这将允许我们指定我们自己的自定义进度条:

<@R_887_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID">    <item androID:ID="@androID:ID/background"          androID:drawable="@androID:drawable/custom_progress_bg" />    <item androID:ID="@androID:ID/secondaryProgress">        <scale androID:scaleWIDth="100%"               androID:drawable="@androID:drawable/custom_progress_secondary" />    </item>    <item androID:ID="@androID:ID/progress">        <scale androID:scaleWIDth="100%"               androID:drawable="@androID:drawable/custom_progress_primary" />    </item></@R_887_3419@>

或者您不必使用Patch 9作为背景 – 例如,这里是一个带有1dp边框的简单白色背景:

<item androID:ID="@androID:ID/background">    <shape>        <corners androID:radius="6.5dp" />        <solID androID:color="@androID:color/white" />        <stroke            androID:wIDth="1dp"            androID:color="@androID:color/darker_gray" />    </shape></item>

AndroID Asset Studio有一个很棒的工具来帮助您生成Patch 9文件:
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/nine-patches.html

在工具之前使用填充的示例主xdpi png:

在工具之前使用填充的辅助xdpi png示例:

最后的输出:

总结

以上是内存溢出为你收集整理的在android中双方四舍五入的进度条全部内容,希望文章能够帮你解决在android中双方四舍五入的进度条所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1101518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存