- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道这听起来很烦人,但有时感觉 Android 的 UI 组件和行为有些离谱。
考虑以下 XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RatingBar
android:id="@+id/ratingBar1"
android:style="@android:style/Widget.Holo.Light.RatingBar.Small"
android:progress="3"
android:max="5"
android:numStars = "5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
在不同尺寸的设备上显示效果的屏幕截图:
Nexus S 评分栏
平板电脑评分栏
小型设备评级栏
即使它仅在预览工具中,我也可以确认它在设备上的实际外观。
小型设备的行为令人抓狂。指定 5 颗星的 RatingBar 如何只显示 3 颗星,为什么不缩小星星以适合窗口?
考虑到 wrap_content 宽度是问题所在,我切换到 layout_width="fill_parent"并没有改变小型设备上的外观,但它在平板电脑上完全搞砸了(对于 5 的“numStars”来说太多了):
我的问题是,有没有办法让 RatingBar 在大小调整方面表现得当?您会认为 numStars 或 max 就足够了,但它完全是任意的。当拉长 RatingBar 以便绘制更多星星时,它会添加星星,看看进度为 3 时,它如何根据显示的星星数绘制它?不遵守 numStars 是没有意义的!
如果无法从 RatingBar 获得逻辑性能,是否有任何替代方案,包括第 3 方小部件?如果没有,我想我总是可以绘制 5 个 ImageView,然后对其进行相应的调整。
(请记住,所有这些行为都是在布局中只有一个 RatingBar 表现出来的——忘记尝试调整其他小部件/组件的大小,或使用您自己的样式。我知道它已经完成,但为什么这是默认行为? )
最佳答案
我在使用股票 RatingBar 时和你有同样的感觉,所以我自己做了:SimpleRatingBar .
它的特点:
android:layout_width
:它可以设置为 wrap_content
、match_parent
或任意 dp。您可以在 jcenter
或 Maven Central
中找到它。所以在你的 build.gradle
文件中添加你的依赖项:
编译 'com.iarcuschin:simpleratingbar:0.1.+'
希望有用。
关于Android RatingBar - 一团糟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454644/
每当我在布局中使用 RatingBar View 时,我都会突然遇到各种编译错误。我使用的是 Android 2.0,但我也尝试过 2.0.1 和 2.1,但并不愉快。我还收到一条消息:Shader
我在应用程序中有一个 RatingBar 组件,我对其进行了以下配置: android:numStars="5" android:stepSize="1.0" 问题是一旦触摸从下一个星星的部分穿过一个
我有一个 layout我想在哪里显示RatingBar为用户。我正在使用我自己的自定义图标而不是默认星星。我的问题是图标是矢量格式,当我使用它们时,我会得到奇怪的效果(见下图)。它应该显示 5 个图标
我已将 RatingBar 添加到我的 ListView 的每个项目中。它运行良好,但不显示准确评级。例如,如果评级是 4.3,它必须显示第 5 颗星的一部分,但它没有。 截图: 第一项评分 = 4.
我在 ListView 中有一个 TextView 和 RatingBar,我想在每个上保存 RatingBar 的值在 ListView 中列出,可以使用自定义适配器吗?? 我用来做的代码喜欢: P
我有一个 RatingBar,用户可以在其中提交星级。我没有按钮,我想让它对用户更友好,让它动态提交。 在 setOnRatingBarChangeListener 方法中,我提交了星星。 这里是问题
我真的是 android 编程的新手。我的问题是 RatingBar 实际上是如何工作的?我想制作一个包含 RatingBars 的应用程序,每当用户将它评为 4 星时,我希望我的应用程序的其他用户也
我正在开发一个使用 RatingBar 的 Android 应用程序,并获得 5 颗星。我有一台 HTC Wildfire,RatingBar 工作得很好。我有这个屏幕的布局。但是,我在 HTC de
我的应用程序中有一个 android 评级栏,它只显示 int 评级。 例如: float ratingValue = 1.5f; myRatingBar.setRating(ratingValue)
RatingBar 中的步长是多少?这是我在文档中找到的内容:此评级栏的步长。例如,如果需要半星粒度,则为 0.5。我试图在这里找到它:https://developer.android.com/re
我知道我可以应用我自己的风格,将评分栏的明星图片换成其他东西。我需要一些更复杂的东西:每个 ratingbar 元素都应该比以前的大。 看图: 这可能吗? 最佳答案 我们可以扩展评分栏,保持栏的高度与
背景:我们使用标准的 Android RatingBar 5 星。我们允许用户使用此 RatingBar 从 1 到 5 进行评分。我们显示的默认值为零,即未评分。 问题:用户目前即使在点击评级栏一次
我知道这听起来很烦人,但有时感觉 Android 的 UI 组件和行为有些离谱。 考虑以下 XML: 在不同尺寸的设备上显示效果的屏幕截图: Nexus S 评分栏 平板电脑评分栏 小型
我需要强制 重绘 RatingBar 控件。 在评级栏和样式出现许多问题后,我设法使几乎所有功能都正常工作。 我在 ListView 项目中使用它。由于它的工作原理,人们不得不对其外观和行为进行一些“
我有以下 RatingBar: 当我按下星星的左边部分时 - 它被选中,但当我按下右边部分时 - 下一颗星星被选中。我需要我点击的星星被选中,无论我点击它的哪个部分。请帮助我了解问题所在。 最佳答案
我在应用程序中有这个评分栏,它始终正确显示。但最近我意识到它在某些设备上无法正常工作(包括带有 Lollipop 版本的 Nexus 5)。 评级栏被黑色覆盖层覆盖,如下图所示(仅在某些设备上)。当
如何做到以下几点? 如果 RatingBar 有 1-3 颗星 - 红星。如果 RatingBar 有 4 颗星 - 黄色星星。如果 RatingBar 有 5 颗星 - 绿星。 ((RatingBa
我有一个表单,它是根据从 Web 服务接收到的数据动态生成的。此 Web 服务提供创建输入元素时需要使用的图像。我很难设置 RatingBar 的 progressDrawable。虽然 XML 我能
我在每行中使用 RecyclerView 和 RatingBar。现在,有时部分 RatingBar 绘制不正确。离开屏幕并返回后,一切恢复正常。我不知道为什么会这样,我什至从 RatingBar 中
我正在尝试在 ListView 中显示评级栏。 无论我尝试了什么: viewHolder.viewOnlyQuickRatingBar.setNumStars(5); 或: android:n
我是一名优秀的程序员,十分优秀!