2016-10-02 100 views
2

有沒有辦法改變RatingBar Widget的大小,以編程方式不使用XML樣式?以編程方式更改RatingBar大小?

我知道我們可以使用xml styles來自定義RatingBar的大小,但它仍然不夠通用,我似乎遇到了一些很好的github庫來實現這個目標,但他們提供API 15+的成本,我的minSDK是10,所以任何人都可以幫助確定解決方案:

以api編程方式降低ratingBar小部件的大小10

回答

0

這是一個長鏡頭,但:

  • 如果你只使用星(沒有自定義形狀)。
  • 您願意使用API​​ 11+。

我做了一個圖書館,可能會幫助你:SimpleRatingBar

它的特點:

  • 完全工作android:layout_width:它可以被設置爲wrap_contentmatch_parent或abritary DP。
  • 任意數量的星星。
  • 任意步長。
  • 恆星的大小可以精確控制或設置最大尺寸。
  • 正常狀態下的可自定義顏色(邊框,填充和星星和評級欄的背景)。
  • 按下狀態下的可自定義顏色(邊框,填充和星星和評級欄的背景)。
  • 星星之間的可自定義尺寸分離。
  • 可定製的星星的邊框寬度。
  • 可自定義的星星角落半徑。
  • 允許設置OnRatingBarChangeListener
  • 星星填充可以設置爲從左到右或從右到左(RTL語言支持)開始。
  • AnimationBuilder集成在視圖中,以編程方式用動畫設置評分。

Here is a preview of it

要更改width,您可以像更改其他視圖(more info)那樣對其進行更改。例如:

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

你可以找到它無論是在jcenterMaven Central。因此,在您build.gradle文件只是添加到您的依賴關係:

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

我希望它是有用的。