Android开发-UI篇
文章平均质量分 73
PocoyoShamoo
爱好:计算机
特长:计算机
专业:计算机
展开
-
Android的LayoutInflater的使用
LayoutInflater的功能就是从layout文件夹中找xml文件,然后实例化。 比方说我们要自定义一个对话框的内容和布局。那么我们的LayoutInflater就能派上用场了。 activity_main.xml文件如下: LayoutInflater.java文件如下:package com.ex原创 2013-06-12 22:55:18 · 1454 阅读 · 0 评论 -
Android自定义TabActivity(实现仿新浪微博底部菜单更新UI)
如今Android上很多应用都采用底部菜单控制更新的UI这种框架,例如新浪微博 点击底部菜单的选项可以更新界面。底部菜单可以使用TabHost来实现,不过用过TabHost的人都知道自定义TabHost究竟是有多麻烦的,原生TabHost的风格是不依附屏幕的底部的,要依附底部就要重写布局。 TabHost设置的Container可以管理UI的显示,UI可以用LayoutInflater动态生成,也可以是Activity,但不好管理Activity的生命周期。然后用TabHost控制显示UI的显示。原创 2014-05-06 22:53:46 · 3450 阅读 · 1 评论 -
Android的onLayout、layout方法讲解
onLayout方法是ViewGroup中子View的布局方法,用于放置子View的位置。放置子View很简单,只需在重写onLayout方法,然后获取子View的实例,调用子View的layout方法实现布局。在实际开发中,一般要配合onMeasure测量方法一起使用。 onLayout方法:@Overrideprotected abstract void onLayout(原创 2014-04-08 11:19:56 · 9827 阅读 · 0 评论 -
Android仿QQ空间底部菜单
之前曾经在网上看到Android仿QQ空间底部菜单的Demo,发现这个Demo有很多Bug,布局用了很多神秘数字。于是研究了一下QQ空间底部菜单的实现,自己写了一个,供大家参考。效果如下图所示: 点击中间的按钮后-> 1、实现原理很简单,底部菜单是一个水平分布的LinearLayout,里面又是五个LinearLayout,它们的layout_weight都为1,意味着底部菜单的原创 2013-06-17 09:29:50 · 8620 阅读 · 59 评论 -
Android精美登录界面设计
在网上在到一个登录界面感觉挺不错的,给大家分享一下~先看效果图: 这个Demo除了按钮、小猫和Logo是图片素材之外,其余的UI都是通过代码实现的。 一、背景 背景蓝色渐变,是通过一个xml文件来设置的。代码如下: background_login.xml <gradient android:startColor="#FFACDAE5" a原创 2013-07-31 23:13:05 · 36891 阅读 · 149 评论 -
Android仿微信气泡聊天界面设计
微信的气泡聊天是仿iPhone自带短信而设计出来的,不过感觉还不错可以尝试一下仿着微信的气泡聊天做一个Demo,给大家分享一下!效果图如下: 气泡聊天最终要的是素材,要用到9.png文件的素材,这样气泡会随着聊天内容的多少而改变气泡的大小且不失真。为了方便,我就直接在微信里面提取出来啦。 聊天的内容是用ListView来显示的,将聊天的内容封装成一个ChatMsgEnt原创 2013-07-31 23:48:20 · 24676 阅读 · 198 评论 -
Android分辨率自适应
Android设备有多种分辨率,到目前为止就有FWVGA,WVGA,VGA,HVGA,QVGA几种,其中 VGA是:Video Graphic Array显示标准为480 x 640 WVGA是Wide VGA,分辨率为480 x 800原创 2014-04-24 21:56:59 · 2061 阅读 · 0 评论 -
Android 旋转屏幕时禁止Activity重建
在Android开发中,如果某些事件触发(例如:旋屏事件),则Activity会重新调用onCreate方法,对Activity重新初始化,这样不仅效率低,而且会造成数据丢失,解决办法是重写onConfigurationChanged方法,并在AndroidManifest.xml中对Activity声明configChanges,这样特定事件触发就会调用onConfigurationChange原创 2014-01-27 22:17:21 · 4608 阅读 · 0 评论 -
Android ImageView的scaleType属性与adjustViewBounds属性
android:scaleType="center" 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放,当图片长/宽超过View的长/宽,则截取图片的居中部分显示ImageView的size.当图片小于View 的长宽时,只显示图片的size,不剪裁。android:scaleType="centerCrop" 以原图的几何中心点原创 2014-11-02 21:07:10 · 8836 阅读 · 1 评论 -
Android仿iPhone圆角边框
如今APP的设计,都掀起了一股“圆角风”。在iPhone的应用,原生UI就已经实现了圆角边框,可惜在Android上就不是了。 不过Android还是可以仿着iPhone来编写出圆角边框的,方法有两种。下面给大家看一个简单的Demo吧。 方法一原创 2013-06-25 23:15:24 · 3375 阅读 · 9 评论 -
Android的onMeasure方法
在Android开发中,当Android原生控件不能满足我们的需求的时候,就需要自定义View。View在屏幕上绘制出来先要经过measure(计算)和layout(布局)。 什么时候调用onMeasure方法? 当子View的父控件要放置该View的时候,父控件会传递两个参数给View——widthMeasureSpec和heightMeasureSpec。这两个参数是Vie原创 2014-02-03 14:30:20 · 1532 阅读 · 0 评论 -
LayoutInflater的inflate函数用法详解
LayoutInflater作用是将layout的xml布局文件实例化为View类对象。获取LayoutInflater的方法有如下三种:LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View layout = inflater.inf转载 2013-06-13 09:48:44 · 1035 阅读 · 0 评论 -
Android中的visibility属性的区别
Android中的控件可设置显示属性visibility,该属性有三个值,XML和Java代码为: 可见(visible) XML文件:android:visibility="visible" Java代码:view.setVisibility(View.VISIBLE); 不可见(invisible) XML文件:android:visibility="in原创 2013-06-09 18:41:32 · 1546 阅读 · 2 评论 -
Android中的android:layout_weight讲解
在使用LinearLayout的时候,子控件可以设置layout_weight。layout_weight的作用是设置子空间在LinearLayout的重要度(控件的大小比重)。layout_weight的值越低,则控件越重要。若不设置layout_weight则默认比重为0。 如果在一个LinearLayout里面放置两个Button,Button1和Button2,Button1的lay原创 2013-06-16 15:57:24 · 2012 阅读 · 0 评论 -
Android的Activity跳转动画集合
大家使用Android的原生UI都知道,Android的Activity跳转就是很生硬的切换界面。其实Android的Activity跳转可以设置各种动画。下面给大家看看效果:------>-----> 实现非常简单,用overridePendingtransition(int inId, int outId)即可实现。inId是下一界面进入效果的xml文件的id,outId是当前界面退原创 2013-06-19 23:01:41 · 6712 阅读 · 1 评论 -
Android九宫格图片(9.png)的讲解与制作
刚开始学习Android的时候,会见到res/drawable的几个文件里面有*.9.png格式命名的图片文件。起初以为这只是Android素材的一些特殊命名,其实不是。它是能实现图片素材拉伸、收缩不失真的九宫格图片文件。 详细介绍:9.png文件是Android的一种特殊的PNG图片。他在原始图片四周各添加一个宽度为1像素的线条,这4条先就决定了该图片的缩放规则和内容的显示规则。 如原创 2013-07-01 12:02:14 · 10351 阅读 · 0 评论 -
Android的View详解
一、结构 java.lang.Object android.view.View 已知直接子类: AnalogClock, ImageView, KeyboardView, ProgressBar, SurfaceView, TextView, ViewGroup, ViewStub 已知间接子类: AbsListView转载 2013-07-04 15:42:26 · 1377 阅读 · 0 评论 -
Android自定义扁平化对话框
平时我们开发的大多数的Android、iOS的APP,它们的风格都是拟物化设计。如今Android 4.X、iOS 7、WP8采用的是扁平化设计,可以看出扁平化设计是未来UI设计的趋势。其实扁平化设计要比拟物化设计要简单一点,扁平化设计更加的简约,给人视觉上更加舒服。 Shamoo想到在Android平台上弄一个扁平化的对话框。参考过一篇帖子,然后改了一下。 这个Demo比较简原创 2013-07-31 21:27:52 · 3706 阅读 · 0 评论 -
Android的FrameLayout使用要注意的问题
帧布局FrameLayout在Android的五大布局中是最简单的布局方式,在需要布局中的控件有重叠的情况下才使用。 今天Shamoo使用FrameLayout的时候,发现布局里面的控件设置layout_margin类的属性没有效果。后来百度一下才知道FrameLayout中的控件layout_margin设置要依赖layout_gravity属性,否则layout_margin设置原创 2013-08-02 22:52:40 · 3683 阅读 · 0 评论 -
Android取消EditText自动获取焦点行为
当Activity使用了EditText或者是AutoCompleteTextView,跳转到该Activity时,EditText会自动获取焦点,显示输入法界面。这可能是你并不愿意看到的。 取消自动获取焦点行为,只要将EditText或是AutoCompleteTextView的父级控件的XML属性设置下面两句即可实现。android:focusable="true" android原创 2013-08-19 15:35:35 · 1272 阅读 · 0 评论 -
Android 控件的触摸事件传递与处理
了解Android控件的触摸事件传递与处理对我们日常开发中自定义控件和触摸事件冲突解决有重大意义。Android控件的触摸事件传递和处理主要有以下几个方法,下面一一介绍原创 2014-12-20 23:12:02 · 5218 阅读 · 1 评论