0

我想在 Android 中实现一个星星作为按钮,这样当用户想要收藏他们的“当前设置”时,他们触摸星星,然后变成黄色。

你会怎么做?你能改变默认按钮吗?或者你可以只导入图片然后像 OnTouchListener 一样设置吗?

如果有人也可以告诉我如何导入图片(星号),那也将是有益的。

感谢所有的帮助。

4

3 回答 3

2

声明一个ImageButton以星星为背景的。然后,您可以注册一个侦听器,以了解何时按下按钮以显示或移除星星。

注意:在大多数情况下,移除星号相当于将 imagebutton 的背景设置为 null。

要导入星星,请将其放在“res/drawables”目录中,然后在 xml 或 Java 代码中引用它。

于 2012-04-25T16:27:47.860 回答
0

当用户单击它时,您只需更改按钮背景,您只需要有两个星形图像,一个用于选定模式,另一个用于未选定模式。

因此,当用户单击时,您可以切换选择并将所需的图像设置为背景。

于 2012-04-25T16:27:31.947 回答
0

我建议你检查 RatingBar 是一个明星。

http://developer.android.com/reference/android/widget/RatingBar.html

RatingBar 是 SeekBar 和 ProgressBar 的扩展,显示星级。使用默认大小的 RatingBar 时,用户可以触摸/拖动或使用箭头键来设置评分。较小的 RatingBar 样式 ( ratingBarStyleSmall) 和较大的仅指标样式 (ratingBarStyleIndicator) 不支持用户交互,只能用作指标。

使用支持用户交互的 RatingBar 时,不鼓励将小部件放置在 RatingBar 的左侧或右侧。

设置的星数(通过 setNumStars(int) 或在 XML 布局中)将在布局宽度设置为包裹内容时显示(如果设置了另一个布局宽度,结果可能无法预测)。

客户端不应修改次要进度,因为它在内部用作部分填充星的背景。

<RatingBar
    android:id="@+id/ratingBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:clickable="true"  android:numStars="1"/>
于 2012-04-25T16:31:53.787 回答