Android中的星形按钮

use*_*480 14 android android-button

我想在我的应用程序中放一个星形按钮,就像一个评级明星.我已经尝试使用一颗星评级栏,但不幸的是它不能用作按钮.

我希望它可以作为一个按钮工作,如果所选状态的背景为黄色则更好......任何建议?谢谢.

jks*_*der 28

当然,使用这样的布局资源:

<ImageButton android:id="@+id/favorite"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:src="@drawable/star"
        android:background="#00ffffff"
        android:onClick="onToggleStar"/>
Run Code Online (Sandbox Code Playgroud)

您可以将此配置与这样定义的状态列表drawable配对,该列表保存为XML文件res/drawable/star.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:drawable="@drawable/button_pressed" /> <!-- pressed -->
    <item android:state_focused="true"
          android:drawable="@drawable/button_focused" /> <!-- focused -->
    <item android:state_hovered="true"
          android:drawable="@drawable/button_focused" /> <!-- hovered -->
    <item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
Run Code Online (Sandbox Code Playgroud)

以下是Android本身打包的图片:

  • 离
  • 上
  • 残
  • 按下 按下
  • 关闭按下 关闭按下

  • 我直接从<android sdk path>\platforms\android-14\data\res\drawable-hdpi文件夹中获取.文件以名称"btn_star"开头 (5认同)

Pet*_*rdk 13

您可以使用内置的btn_starstatelist drawable.

<ImageButton
    android:id="@+id/favorite_button"
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:src="@android:drawable/btn_star"  //This one! 
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:background="#00ffffff" /> //Needed to remove the button background
Run Code Online (Sandbox Code Playgroud)

  • 我怎么把它弄成黄色? (2认同)