2013-03-09 48 views
0

好日子,的Android创建自定义的UI对象,红色/绿色连接按钮

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

要显示

我只是想圆红色或绿色取决于网络是否连接。我想要一个类似于单选按钮的颜色,只是颜色必须改变。

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

回答

0

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

然后,在您的XML文件中使用可绘制的StateList。 Statelist绘制给你更改图像取决于状态的能力

这是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"  

     /> 
0

检查了这一点:android - button style

Yout可以将样式应用于您的按钮/ imagebutton/imageview,您可以在其中定义背景的外观和边框半径以获得圆圈。将其作为your_style.xml保存在可绘制文件夹中。代码如下所示:

 <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