Mar*_* S. 23 android android-widget
我已经添加了一种风格
<style name="myRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:minHeight">32dp</item>
<item name="android:maxHeight">32dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然而,不是缩放星星,我收到了星星:
有没有办法改变星星的大小?
xle*_*eon 30
另一种方法是缩放小部件:
android:scaleX="0.5"
android:scaleY="0.5"
Run Code Online (Sandbox Code Playgroud)
Mar*_* S. 18
Android不会扩展评级栏图标.当你减少minHeight
和maxHeight
Android将始终裁剪图片所示的图标.它的解决方法,似乎是唯一的解决方案是提供自己的图标恒星所需的尺寸和设置minHeight
,并maxHeight
以图标的大小.
//你也可以试试
<style name="myRatingBar" parent="@android:style/Widget.RatingBar.Indicator">
<style name="myRatingBar" parent="@android:style/Widget.RatingBar.Small">
Run Code Online (Sandbox Code Playgroud)
参考: /android-sdk/platforms/android-10/data/res/values/styles.xml
<style name="Widget.RatingBar">
<item name="android:indeterminateOnly">false</item>
<item name="android:progressDrawable">@android:drawable/ratingbar_full</item>
<item name="android:indeterminateDrawable">@android:drawable/ratingbar_full</item>
<item name="android:minHeight">57dip</item>
<item name="android:maxHeight">57dip</item>
<item name="android:thumb">@null</item>
</style>
<style name="Widget.RatingBar.Indicator">
<item name="android:indeterminateOnly">false</item>
<item name="android:progressDrawable">@android:drawable/ratingbar</item>
<item name="android:indeterminateDrawable">@android:drawable/ratingbar</item>
<item name="android:minHeight">38dip</item>
<item name="android:maxHeight">38dip</item>
<item name="android:thumb">@null</item>
<item name="android:isIndicator">true</item>
</style>
<style name="Widget.RatingBar.Small">
<item name="android:indeterminateOnly">false</item>
<item name="android:progressDrawable">@android:drawable/ratingbar_small</item>
<item name="android:indeterminateDrawable">@android:drawable/ratingbar_small</item>
<item name="android:minHeight">14dip</item>
<item name="android:maxHeight">14dip</item>
<item name="android:thumb">@null</item>
<item name="android:isIndicator">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
你解决了你的问题.但这可能有助于其他人.
我有同样的问题.我得到的所有解决方案都不适用于多种屏幕尺寸.花了几个小时后,我结束了以下解决方案
只需获取要在运行时使用的可绘制高度,并将其设置为RatingBar.这是示例代码.
Drawable starDrawable = getResources().getDrawable(R.drawable.YOUR_IMAGE);
int height = starDrawable.getMinimumHeight();
LayoutParams params = (LayoutParams) ratingBar.getLayoutParams();
params.height = height;
ratingBar.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)
小智 5
也许我们可以使用另一种选择,即android提供小尺寸的评级星星。将 style="@style/Widget.AppCompat.RatingBar.Small" 添加到 RatingBar。
<RatingBar
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/list_item_margin"
android:layout_marginLeft="@dimen/list_item_margin"
android:numStars="5"
android:isIndicator="true"
style="@style/Widget.AppCompat.RatingBar.Small"/>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
53067 次 |
最近记录: |