繁体   English   中英

以编程方式更改RatingBar的大小?

[英]Changing RatingBar Size Programmatically?

有没有一种方法可以通过编程方式更改RatingBar Widget的大小而无需使用xml样式?

我知道我们可以使用xml样式自定义RatingBar的大小,但是它仍然不够通用,我似乎遇到了一些不错的github库,可以实现此目标,但是他们以API 15+的价格提供了它,我的minSDK是10,任何人都可以帮助确定以下解决方案:

在api 10下以编程方式减小ratingBar小部件的大小

这是一个远景,但是:

  • 如果仅使用星形(无自定义形状)。
  • 您愿意使用API​​ 11+。

我做了一个可能对您有帮助的库: SimpleRatingBar

它具有以下特点:

  • 可以正常使用android:layout_width :可以将其设置为wrap_contentmatch_parent或非婚生dp。
  • 任意星数。
  • 任意步长。
  • 可以精确控制星星的大小,也可以设置最大大小。
  • 正常状态下的可自定义颜色(边框,星标的填充和背景以及等级栏)。
  • 处于按下状态时的自定义颜色(边框,星号的填充和背景以及等级栏)。
  • 可自定义星星之间的大小分隔。
  • 可自定义的星星边框宽度。
  • 可自定义的星星角半径。
  • 允许设置OnRatingBarChangeListener
  • 可以将星星填充设置为从左到右或从右到左开始(RTL语言支持)。
  • 视图中集成了AnimationBuilder,可通过动画以编程方式设置评分。

这是它的预览

要更改width您可以像使用其他任何视图一样更改它( 更多信息 )。 例如:

ratingBar.getLayoutParams().width = newWidth;
ratingBar.invalidate();

您可以在jcenterMaven Central找到它。 因此,在您的build.gradle文件中,只需添加您的依赖项即可:

compile 'com.iarcuschin:simpleratingbar:0.1.+'

我希望它有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM