Android开发UI界面设计之按钮状态

Android开发UI界面设计之按钮状态
Android开发UI界面设计之按钮状态

Android开发UI界面设计

ON 六16 2011 IN ANDROID界面设计 BY ANDROID智能手机| NO COMMENTS已有1420位网友关注Android开发UI界面设计主要有两点:一是Android按钮(Button)的UI设计,二是:ListView以及GridView的UI设计。

按钮的状态:

我们一般搞UI设计,按钮通常有三个状态:normal(正常状态);focus(焦点状态),pressed(按下状态)。如下图所示:

我们会在res/drawable目录下定义一个资源文件,比如我们本例中要用到的handle.xml,在里面定义三种状态,每种状态对应一张图片:

代码如下:

而我们使用这个资源文件的用法只需要引用drawable里的资源文件

(android:background=”@drawable/handle”)代码如下:

android:id=”@+id/handle”

android:layout_width=”wrap_content”

android:layout_height=”fill_parent”

android:background=”@drawable/handle”

/>

Android中的层:

看过《盗梦空间》的人都知道,梦境有多少层,而Android中也有层次之分,在Android中第一层”梦境”,我们可以认为是壁纸。第二层就是应用的Activity,第三层就是放在Activity上的容器(ViewGroup以及它的子类FrameLayout,LinearLayout等布局对象),当然容器中还可以放容器,你也可以放到N层(最多放多少我还没验证过),总之最后一层就是那些继承于View的控件了(诸如,Button,TextView等.)

而ListView以及GridView中UI是怎么设计的呢,下面我们看一下效果图:

上图是一个ListView的效果图,正常状态下是白色背景黑色字体,当我们点击一列时会出现黄色背景。这一效果是如何做到的呢?

ListView单元格显示的内容其实是我们事先定义在Layout目录下的一个布局文件,从这个效果来看,我们可以看出它一共有三个“层”

第一层容器(LinearLayout) 背景色为白色:

第二层也是容器(LinearLayout)当按下时,背景色为黄色,把第一层挡住(具体做法可以参照按钮):

第三层是控件(TextView)。

实例:

上面说了一些,有些人肯定会云里雾里,所以我们直接来个实例,实例做完后,再看一下,效果会更好,大家按照步骤跟我来:

第一步:首先准备素材,准备三个按钮,以及ListView的背景图(上面三个按钮已经有了,下面我只贴一个ListView背景图片):

第二步:新建一个Android工程,命名为UIDemo.目录结构如下图所示:

第三步:在res目录下新建一个drawable文件夹,定义两个资源文件一个是handle.xml另一个为listview_selected.xml,其中handle.xml代码已经在上面贴出,listview_selected.xml代码如下:

android:drawable=”@drawable/list_selector_background_pressed” />

第四步:修改main.xml布局文件,这里我用到了SliddingDrawer控件,代码如下:

android:orientation=”vertical”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

>

android:id=”@+id/slidingdrawer”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:orientation=”horizontal”

android:handle=”@+id/handle”

android:content=”@+id/content”>

android:id=”@+id/handle”

an droid:layout_width=”wrap_content”

android:layout_height=”fill_parent”

android:background=”@drawable/handle”

/>

android:id=”@+id/content”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

/>

我们这里用到了ListView控件,而我们ListView控件显示的内容我事先在layout目录下定义两个TextView,命名为listview_layout.xml,代码如下(这里有三层哦!):

android:orientation=”vertical”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:background=”#ffffff”

>

android:orientation=”vertical”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:background=”@drawable/listview_selected”and roid:padding=”6px”

>

android:id=”@+id/bookname”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:textSize=”20px”

android:textColor=”#000000″

/>

android:id=”@+id/author”

android:layout_width=”fill_parent”

a ndroid:layout_height=”wrap_content”

android:textSize=”16px”

android:textColor=”#000000″

/>

第五步:修改主核心程序UIDemo.java,代码如下:

package com.tutor.uidemo;

import android.app.Activity;

import android.os.Bundle;

import https://www.360docs.net/doc/2010650510.html,youtInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ListView;

import android.widget.TextView;

public class UIDemo extends Activity {

private ListView mListView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(https://www.360docs.net/doc/2010650510.html,yout.main);

setupViews();

}

private void setupViews(){

mListView = (ListView)findViewById(R.id.content);

mListView.setAdapter(new ListViewAdapter());

}

private class ListViewAdapter extends BaseAdapter{

//这里返回10行,ListView有多少行取决于getCount()方法

public int getCount() {

return 10;

}

public Object getItem(int arg0) {

return null;

}

public long getItemId(int arg0) {

return 0;

}

public View getView(int position, View v, ViewGroup parent) {

final LayoutInflater inflater = LayoutInflater.from(getApplicationContext());

if(v == null){

v = inflater.inflate(https://www.360docs.net/doc/2010650510.html,yout.listview_layout, null);

}

TextView mBookName = (TextView)v.findViewById(R.id.bookname); TextView mBookAuthor = (TextView)v.findViewById(R.id.author);

mBookName.setText(“Android傻瓜教程” + position);

mBookAuthor.setText(“Frankiewei” + position);

return v;

}

}

}

第六步:运行上述工程,查看效果:

点击按钮效果,正常效果,点击效果

上面用到了SliddingDrawer控件以及适配器的内容。

Android简单的登陆界面的设计开发

通信实训报告 -Android移动平台开发 学院:信息工程学院 班级: 学号: 姓名:

实训内容: 一.1.Andriod的简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread 和Android 3.0 Honeycomb。 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。 Android早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。 2.Android构架图 二.1软件下载 Android SDK,网址是https://www.360docs.net/doc/2010650510.html,. JDK的下载地址https://www.360docs.net/doc/2010650510.html,/javase/downloads/widget/jdk6.jsp。Eclipse的下载网址是https://www.360docs.net/doc/2010650510.html,/downloads/ 2.Android开发环境搭建

第4章 Android用户界面设计

视图组件的使用模式 常用组件 高级组件 提示框与警告对话框

就是Android应用程序的开发过程。一般过程是先通过XML布局文件或Java代码创建界面布局,设定组件显示样式,随后获取UI组件对象,并处理组件事件响应。 视图组件的定义 资源的访问 生成视图组件资源标识 视图组件的引用 视图组件的事件响应 组件的常用属性

1.1视图组件的定义 使用XML布局文件定义视图组件 使用Java代码定义视图组件(不推荐)

1.1视图组件的定义 使用XML布局文件定义视图组件 Android平台为大多数视图组件以及其子类提供了XML标记,可通过XML布局文件中的标记来定义视图组件。XML中的每个元素代表了一个组件,即元素名称对应相应的Java类。

1.1视图组件的定义

相关文档
最新文档