【问题标题】:Android Create Custom UI object, red / green connect buttonAndroid 创建自定义 UI 对象,红/绿连接按钮
【发布时间】:2013-02-24 21:23:42
【问题描述】:

早安,

我想创建一个可以添加到我的 Android 应用程序视图的新对象,

我只是想让一个圆圈显示为红色或绿色,具体取决于网络是否连接。我想要一个类似于单选按钮的外观,只是颜色必须改变。

最好只使用图片吗?或者我应该创建一个新的视图对象/组件?如果是这样,我该怎么做?

【问题讨论】:

    标签: android


    【解决方案1】:

    一个简单的选项: 您可以使用 PNG 图像。您需要一张要使用的两种颜色的图像。如果你喜欢,你可以用你的 PNG 创建一个 9Patch。 9Patch 为您提供可以拉伸以适合的图像。

    然后在 XML 文件中使用 StateList drawable。 Statelist drawable 使您能够根据状态更改图像

    这是您的可绘制文件夹中的 button_statelist.xml

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"
            android:drawable="@drawable/redbutton" />
        <item android:drawable="@drawable/bluebutton" />
    </selector>  
    

    你可以使用其他状态来代替 state_pressed

    在您的布局文件夹中,您将按钮定义为:

    <Button        
           android:id="@+id/button1"        
    
    
           android:background="@drawable/button_statelist"      
    
           />  
    

    【讨论】:

      【解决方案2】:

      看看这个:android - button style

      您可以将样式应用于您的按钮/图像按钮/图像视图,您可以在其中定义背景的外观和边框半径以获取圆形。将其另存为 your_style.xml 在 drawable 文件夹中。代码如下所示:

            <shape>
                  <solid
                      android:color="#f00" />
                  <stroke
                      android:width="1dp"
                      android:color="#d00" />
                  <corners
                      android:radius="40dp" />
                  <padding
                      android:left="10dp"
                      android:top="10dp"
                      android:right="10dp"
                      android:bottom="10dp" />
              </shape>
      

      您使用android:background="@drawable/your_style" 设置形状和背景颜色。如果你想要一个额外的图像(为了获得那个单选按钮的外观),你只需添加android:drawableLeft="@drawable/your_overlay_image。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-12
        • 2013-10-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多