android中的控件不是很多,布局也很少。但是这些东西很灵活,所以想设计好的界面还是需要一定的功底的。
本篇博客,您可以了解到:
<1> 自定义 Toast
<2> Button特殊效果
在sdk的api中,相信你可以找到名为Shape Drawable的这样一篇文章,位置:
如果,你想更加理解掌握这篇博客,建议好好地、仔细地看看这篇Shape Drawable文章。
秀一下效果图,呵呵!
启动应用时候,第一次出现效果:
让该Button获得焦点,效果:
还有,就是按下Button会改变其颜色(红色)并弹出Toast:
如果,你是一个细心的人就会发现Toast与以往显示的位置不一样,呵呵。代码如下:
-
findViewById(R.id.btn_change).setOnClickListener(newOnClickListener(){
-
-
@Override
-
publicvoidonClick(Viewv){
-
Toasttoast=Toast.makeText(DroidButtonActivity.this,"changed",Toast.LENGTH_LONG);
-
toast.setGravity(Gravity.CENTER,0,0);
-
toast.show();
-
}
-
});
这里面实现Button特殊效果需要selector,一个很cool的xml文件,在/res/drawable下面:
那么,看看该xml文件内容吧!?
-
<?xmlversion="1.0"encoding="utf-8"?>
-
-
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
-
-
<itemandroid:state_pressed="true">
-
-
<shape>
-
-
<gradientandroid:startColor="#bb0000"android:endColor="#cc0000"
-
-
android:angle="270"/>
-
-
<strokeandroid:width="3dp"android:color="#aa0000"/>
-
-
<cornersandroid:radius="2dp"/>
-
-
<paddingandroid:left="10dp"android:top="10dp"
-
-
android:right="10dp"android:bottom="10dp"/>
-
-
</shape>
-
-
</item>
-
-
<itemandroid:state_focused="true">
-
-
<shape>
-
-
<gradientandroid:startColor="#00aa00"android:endColor="#00bb00"
-
-
android:angle="270"/>
-
-
<strokeandroid:width="2dp"android:color="#00cc00"/>
-
-
<cornersandroid:radius="2dp"/>
-
-
<paddingandroid:left="10dp"android:top="10dp"
-
-
android:right="10dp"android:bottom="10dp"/>
-
-
</shape>
-
-
</item>
-
-
<item>
-
-
<shape>
-
-
<gradientandroid:startColor="#0000bb"android:endColor="#0000cc"
-
-
android:angle="270"/>
-
-
<strokeandroid:width="2dp"android:color="#0000aa"/>
-
-
<cornersandroid:radius="2dp"/>
-
-
<paddingandroid:left="10dp"android:top="10dp"
-
-
android:right="10dp"android:bottom="10dp"/>
-
-
</shape>
-
-
</item>
-
-
</selector>
关于各个参数的意思,看上面的sdk文档。在main.xml文件中,我们就可以来使用该xml文件喽!
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
-
android:orientation="vertical"
-
android:layout_width="fill_parent"
-
android:layout_height="fill_parent"
-
>
-
<TextView
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content"
-
/>
-
<Button
-
android:id="@+id/btn_change"
-
android:layout_width="fill_parent"
-
android:layout_height="wrap_content"
-
android:layout_marginTop="10dip"
-
android:text="change"
-
android:background="@drawable/an_button"/>
-
</LinearLayout>
注意:Button设置selector使用标签是background,不是src(区别于ImageButton)。
完整代码下载:http://download.csdn.net/source/3469895
转自:http://blog.csdn.net/veryitman/article/details/6633970
分享到:
相关推荐
Android 基础UI Demo小合集,目录: - "练习一:霓虹灯效果" (imgeview、handler、timer) - "练习二:Drawable资源"(drawable、shape) - "练习三:图片浏览器" (imageview) - "练习四:AutoCompleteTextView" ...
shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape 简介...
动画效果集合目前包含的动画效果有: ... 2、选项伸缩动画 ... 4、基于shape的UI小工具类 具体使用请参考demo 我的csdn博客: http://blog.csdn.net/yangyong915/article/details/79012025 我的QQ: 550149620
shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape ...
最近准备整理一套关于UI效果的文章,算是对这段时间的一个总结,主要讲Android开发中的UI效果设计模块。初步分为一下几个篇幅: Android XML绘图(Shape、Layer、Selector) Android Canvas绘图(canvas、point、...
首先我们来分析一下上面UI效果,我们不难发现其实上图所示的ui效果本质上可以看成两个图层的叠加,那么有的小伙伴就要说了不就是两个图层的叠加嘛,用画笔(paint)和画布(cavns)来画就好了。但就我个人而言我觉得...
您可以使用Shapes2D创建PNG精灵,原型设计,游戏卡纸,UI,效果等等。 您可以获取Shapes2D,或克隆此存储库,然后将Assets / Shapes2D复制到项目的Assets文件夹中。 在线文档位于 。 Twitter,为 。 在不一致。
shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1:Selector ...
shape_gradient.xml 但是,这个只能支持双色渐变,超过双色就无能为力了,所以,我们要考虑使用其它方式: /** * Create a shader that draws a linear gradient along a line. * * @param x0 The x-...
第二种:采用shape叠加,存在后期UI效果不便优化 第三种:UI切图 第四种:自定义View 否定上面前两种方案原因分析? 第一个方案的CardView渐变色和阴影效果很难控制,只能支持线性或者环装形式渐变,这种不
二是线-Shape间距,同样建议采用2W原则。对于线间距,也可以在Allegro中建立一种约束条件,为所有DDR走线(XNET)分配这样的约束条件,如下图。 DDR-2W 4. 还有一种可能需要的规则,就是区域规则。Allegro中默认的...
前言:随着用户体验的不断的加深,良好的UI视觉效果也必不可少,以前方方正正的对话框样式在APP已不复存在,取而代之的是带有圆角效果的Dialog,之前设置对画框的圆角效果都是通过drawable/shape属性来完成,随着...
此外API Demo中提供了另一个实例,不用继承内置的Theme,可以自己完全创建一个新的style,实现透明效果,同时可以加一些其他特效,比如模糊化等,但我试了半天也没有搞定,完全复制代码,也没有出现这个效果,这个...
UI设计器 -> 优化界面布局与视觉效果 UI设计器 -> 增加鼠标右键菜单 UI设计器 -> C 代码生成 新增接口: XEle_SetUID(); XEle_GetUID(); XShape_SetUID(); XShape_GetUID(); XLayout_SetUID(); XLayout_Get...
开发中遇到单/多边框的UI,简单的可以自己写shape图,复杂的一般都让设计配合制作9patch图了。 今天不说需要切图的情况,只聊简单的单/多边框,主要是实现思路。 效果很简单: 就以上图为例介绍,只有上边框,边框...
giving your indicators unique designs and beautiful effects or customizing the shape at runtime, or having progress bars fill up as you use them
毛玻璃效果(亦称磨砂效果),近两年在移动端的UI设计上越来越流行,下面这篇文章主要介绍了Android利用RenderScript实现毛玻璃模糊效果的相关资料,文中给出了详细的示例代码,需要的朋友可以参考学习,下面来一起...
* UI透明就成了大家非常关注的一个话题,于是Java阵营开始了铺天盖地的讨论如何实现透明的效果, * 但是很不幸的是无论组件如何透明和变换,但是能够放置于屏幕任何位置的Window一族就是没法透明和变形,原生...