摘要:
TabActivity首先Android里面有个名为TabActivity来给我们方便使用。其中有以下可以关注的函数:public TabHost getTabHost () 获得当前TabActivity的TabHostpublic TabWidget getTabWidget () 获得当前TabActivity的TabWidgetpublic void setDefaultTab (String tag) 这两个函数很易懂,就是设置默认的Tabpublic void setDefaultTab (int index) 通过tab名——tag或者index(从0开始)protected v 阅读全文
摘要:
首先,style和theme都是资源,android提供了很多这样的默认资源。你可以来使用它们。同时你也可以自己定义style和 theme。这非常的简单,只需要在res/values/这个路径里面新建一个.xml文件,而且他的根节点必须 是<resources>.对每一个style和 theme,给<style>element增加一个全局唯一的名字,也可以选择增加一个父类属性,我们写的style和theme就会继承 这个父类的属性。style和theme的定义格式相同。不过style是针对view来说的,比如TextView,EditText这些,而 theme必须针 阅读全文
摘要:
上篇博客我们写了一个Itab类,介绍了背景的绘制和简单的一个图的贴图方法。我们继续来完成Itab这个类,同时把他放到 MainAcitvity(继承Activity)这个类内部,这样,整个程序只需一个类就可以了。(上篇博客例子运行需要再建一个Activity的子 类来作为lanucher)。废话不多说了,看看代码[java] view plaincopypublicstaticclassiTabextendsView{privatePaintmPaint;//背景画笔privatePaintmActiveTextPaint;//选中privatePaintmInactiveTextPaint; 阅读全文
摘要:
相信很多人都喜欢iphone 酷炫的界面,虽然android的原生控件已经足够漂亮,但是往往不能满足用户越来越挑剔的眼光。其实,我们完全可以自己来绘制界面。今天我就来分享下做一个和iphone一样的tab界面。下面先来看下iphone上的效果在开始之前,我们必须掌握最基础的,也就是android中图形界面的绘制。首先讲下简单图形的绘制,这里我们就借绘制这个的背景部分来讲下吧。直接看代码[java] view plaincopy1publicclassItabextendsView{23privatePaintmPaint;45publicItab(Contextcontext,Attribut 阅读全文
摘要:
最近在写一个应用,想把设置页面和应用页面放在一起,这样就能实现用户可以实时 看到自己的设置对UI的影响,从而更方便的设置用户喜欢的界面。想了一段时间,发现用slidingDrawer这个控件可以实现这个效果。也就是一个抽 屉。拉开抽屉,占据半个屏幕,另外半个屏幕还是显示应用页面。效果还是不错的。今天就和大家分享一下android中这个抽屉效果。其实在android的lanucher就是一个抽屉,打开它就可以看到安装的应用。相信大家都见过用过。下面我们就来做个相同的效果,当然只是UI上差不多相同的效果。slidingDrawer这个控件使用非常简单,基本在xml里面配置就可以。代码如下所示。&l 阅读全文
摘要:
今天来讲下android UI设计中常要用到的可延伸图像。除了最基本的png,jpg与gif三种格式外,android还有一种叫做Nine-Patch的可延伸图 像.9.png。和png格式不同的是,他会随着属性物的大小变化而改变自己的大小,从而来适应属性物的大小。这个特点,在我们平常的UI设计中是非常实 用的。最常见的一个图片做按钮背景,来适配字体大小,这时候,你会发现,这种可延伸图像非常的好用。下面就来讲讲如何使用吧。Android SDK提供了一个工具来制造这种图像。在android sdk的tools目录下,有个draw9patch.bat的文件,就是他啦。运行它,将我们的图片拖进去, 阅读全文
摘要:
下面就看看使用方法。首先初始化一个PopupWindow[java] view plaincopyPopupWindowmPop=newPopupWindow(getLayoutInflater().inflate(R.layout.window,null),LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);实现PopupWindow的构造函数,第一个参数导入布局,后面两个指定宽和高。弹窗一般有两种展示方法,用showAsDropDown()和showAtLocation()两种方法实现。一般参数有两种,有偏移和无偏移。[java] vi 阅读全文
摘要:
再来看一下上篇博客中使用的框架布局的树形结构图: 根节点和LinearLayout上面那个子树为android的窗口布局,后面的TextView即为标签。黄色框内的这部分树形图即为我们的布局。可 以发现红色框出的FrameLayout是另一个FrameLayout的唯一子元素,并且该父节点并没有额外的属性,也就是说,它是完全冗余的,这时候 就要用<merge/>标签来解决这个问题。用<merge/>替换原来的<FrameLayout/>标签,修改 后的布局代码如下:[xhtml] view plaincopy<?xmlversion="1.0 阅读全文
摘要:
1.使用<include /> 标签来重用layout代码如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在android开发文档中没有相关的介绍。在android主屏程序中 用到了这个标签:[xhtml:showcolumns] view plaincopy·········10········20···· 阅读全文
摘要:
1. 概述: ViewStub组件和<include>标签的作用类似,主要是为了提高布局的重用性,及布局的模块化。它们之间最大的差别 是,ViewStub中的布局不会随着它所在布局的渲染而渲染,而<include>标签中的布局会随着它所在布局的渲染而渲 染,ViewStub中的布局只有在你需要的时候才会渲染到主界面中。2. 效果图: (1)在ButtonOne与ButtonTwo之间存在一个ViewStub布局,如下图: (2)单击ButtonOne后渲染ViewStub中的布局,如下图:3. 实现代码: (1)res/layout/main.xml实现:[java:f 阅读全文
摘要:
第一个实现一个带图片和文字的按钮,如图所示: 整个过程可以分四步走。第一步,定义一个layout,实现按钮内部的布局。代码如下:[html] view plaincopy<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width=" 阅读全文
摘要:
ViewPager需要android-support-v4.jar这个包的支持,来自google提供的一个附加包。大家搜下即可。ViewPager主要用来组织一组数据,并且通过左右滑动的方式来展示。现在的大多数应用都会有一个欢迎引导页面,如图所示,通过左右滑动来告知用户一些功能特性。这个引导图效果用ViewPager可以很轻松的实现。正如前面所说,ViewPager是用来展示一组数据的,所以肯定需要Adapter来绑定数据和view。先写一个Adapter:[java] view plaincopypackagecom.notice.viewpagerd;importjava.util.Lis 阅读全文