我在http://kozyr.zydako.net/2010/05/23/pretty-ratingbar/之后为 RatingBar 创建了自定义样式, 当我在 XML 文件中声明我的 RatingBar 时,这非常有效。但是,我还需要在我的 java 代码中创建动态评分栏,这就是我这样做的地方:
for (int i=0; i<Math.min(10, n); i++){
TableRow row = new TableRow(RegisterActivity.this);
TextView t = new TextView(RegisterActivity.this);
t.setText((i+1) + ". " + myCList.get(i) + " / " + myWList.get(i) + " (" + mySList.get(i) + ")");
RatingBar c = new RatingBar(RegisterActivity.this, null, R.style.foodRatingBar);
Double d=(Double) myRList.get(i);
c.setRating(d.floatValue());
c.setClickable(false);
row.addView(t);
row.addView(c);
table.addView(row,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
问题是当我以这种方式使用它们时,不会显示评分栏。这是我的自定义样式:
<style name="foodRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/food_ratingbar_full</item>
<item name="android:minHeight">50dp</item>
<item name="android:maxHeight">50dp</item>
</style>
当我将标准的小样式用于评分栏时,相同的过程非常有效。有人知道为什么吗?