`
zhangfy068
  • 浏览: 148457 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android界面编程

 
阅读更多

1、线性布局

 

orientation为排列方式horizontal水平排列,vertical垂直排列(默认值)(各组件之间的关系)

gravity为布局管理器内组建的对齐方式 支持多组合使用“|”同时使用  在父容器中的位置

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:gravity="top"
 

2、表格布局

属性:Shrinkable 可以被收缩   组件字体过多的时候回收缩换行

Stretchable 可以被拉伸

Collapsed 该列的所有单元格会被隐藏

表格布局 可以看成是一个 表格,TableRow 是表格中的一行

实例:

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	>
<!-- 定义第一个表格布局,指定第2列允许收缩,第3列允许拉伸 -->
<TableLayout android:id="@+id/TableLayout01" 
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content"
	android:shrinkColumns="1"
	android:stretchColumns="2"

>
<!-- 直接添加按钮,它自己会占一行 -->
<Button android:id="@+id/ok1" 
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="一行"
	/>
<!-- 添加一个表格行 -->
<TableRow>
<!-- 为该表格行添加3个按钮 -->
<Button android:id="@+id/ok2" 
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="普通按钮"
	/> 	
<Button android:id="@+id/ok3" 
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="允许被收缩的按钮"
	/> 
<Button android:id="@+id/ok4" 
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="允许被拉伸的按钮"
	/>
</TableRow>	
</TableLayout>
 

 

 

3、帧布局

 

类似于AWT中的CardLayOut

 

package org.crazyit.framelayout;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;

/**
 * Description:
 * <br/>site: <a href="http://www.crazyit.org">crazyit.org</a> 
 * <br/>Copyright (C), 2001-2012, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author  Yeeku.H.Lee kongyeeku@163.com
 * @version  1.0
 */
public class FrameLayoutTest extends Activity
{
	private int currentColor = 0;
	//定义一个颜色数组
	final int[] colors = new int[]
	{
		R.color.color7,
		R.color.color6,
		R.color.color5,
		R.color.color4,	
		R.color.color3,
		R.color.color2,
		R.color.color1,	
	};
	final int[] names = new int[]
	{
		R.id.View01,
		R.id.View02,
		R.id.View03,
		R.id.View04,
		R.id.View05,
		R.id.View06,
		R.id.View07
	};
	TextView[] views = new TextView[7];
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);	
		for (int i = 0 ; i < 7 ; i++)
		{
			views[i] = (TextView)findViewById(names[i]);
		}
		final Handler handler = new Handler()
		{
			@Override
			public void handleMessage(Message msg)
			{
				//表明消息来自本程序所发送
				if(msg.what == 0x1122)
				{ //这貌似还是个不错的数据结构。。数组霓虹灯交换数据,,偏移量
					//依次改变7个TextView的背景色
					for(int i = 0 ; i < 7 - currentColor ; i++)	
					{
						views[i].setBackgroundResource(colors[i + currentColor]);
					}
					for(int i = 7 - currentColor , j = 0 ; i < 7 ; i++ ,j++)
					{
						views[i].setBackgroundResource(colors[j]);
					}
				}
				super.handleMessage(msg);
			}
		};
		//定义一个线程周期性的改变currentColor变量值
		new Timer().schedule(new TimerTask()
		{
			@Override
			public void run()
			{
				currentColor++;
				if(currentColor >= 6)
				{
					currentColor = 0;
				}
				//发送一条消息通知系统改变7个TextView组件的背景色
				Message m = new Message();
				//给该消息定义一个标识
				m.what = 0x1122;
				handler.sendMessage(m);	
			}		
		}, 0 , 100); 
	}
}
 

 

4、相对布局

 

 

2.4

2.4.1自动完成文本框

 

package org.crazyit.autocomplete;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

/**
 * Description:
 * <br/>site: <a href="http://www.crazyit.org">crazyit.org</a> 
 * <br/>Copyright (C), 2001-2012, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author  Yeeku.H.Lee kongyeeku@163.com
 * @version  1.0
 */
public class AutoCompleteTextViewTest extends Activity
{
	//定义字符串数组,作为提示的文本
	String[] books = new String[]{
		"java Java讲义",
		"java Ajax讲义",
		"java XML讲义",
		"java Workflow讲义"
	};
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//创建一个ArrayAdapter,封装数组
		ArrayAdapter<String> aa = new ArrayAdapter<String>(
			this,
			android.R.layout.simple_dropdown_item_1line,
			books);
		AutoCompleteTextView actv = (AutoCompleteTextView)
			findViewById(R.id.auto);
		//设置Adapter
		actv.setAdapter(aa);
		
	}
}
 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    android界面编程基础

    本文主要探讨Android界面编程的基础,包括布局、菜单的生成、对话框的创建,以及事件处理机制。 首先,Android界面布局是构建用户界面的基础。Android支持多种布局类型,如LinearLayout(线性布局)、...

    4.Android界面编程.ppt

    本讲座主题为“4.Android界面编程”,主要探讨了Android系统中的用户界面构建、控件使用以及界面组织方式。 首先,Android提供了多种基本控件,如标签(Label)、文本框(Textfield)和按钮(Button),这些控件...

    android安卓app界面效果全汇总-android界面编程-控件使用教程 源代码

    "android安卓app界面效果全汇总-android界面编程-控件使用教程 源代码"这个资源集合涵盖了Android界面设计的多个方面,包括各种控件的使用、布局管理以及交互效果的实现。通过这份教程,开发者可以深入理解如何创建...

    6.Android界面编程(3补充)Adapter.pptx

    Android 界面编程中的 Adapter 在 Android 界面编程中,Adapter 是一个非常重要的概念,它扮演着连接后端数据和前端显示的适配器接口角色,充当着数据和 UI 之间的一个重要的纽带。在多种 View 中,如 ListView、...

    6.Android界面编程(3)UI组件.ppt

    6.Android界面编程(3)UI组件.ppt

    4.Android界面编程(1)布局管理器.ppt

    4.Android界面编程(1)布局管理器.ppt

    Android高级用户界面编程技巧

    本文档将深入探讨Android界面编程的一些高级技巧,特别是关于ListView及其适配器(Adapter)的高效使用方法。通过这些技巧的应用,可以有效提升界面的流畅度和性能表现。 #### 二、Adapter的基础概念 在Android中,...

    Android界面编程基础.

    View类是所有界面控件类的超类; 代表屏幕上一块空白的矩形区域,用于绘画和事件处理; 在View类中定义了控件的一些共同属性(例如透明度、边距、旋转、缩放等)。

    Android应用的界面编程

    本实验旨在让开发者了解Android界面编程的基本概念,包括视图(View)的使用以及各种布局管理器,同时熟悉常用UI组件的运用。通过设计一个简单的计算器界面,我们可以深入理解这些关键点。 首先,Android界面的基本...

    Android ListView仿微信关于界面分隔线布局.rar

     本源码是一个安卓制作的微信界面UI编程设计的范例,属于Android界面编程的范畴,不涉及微信的功能编程。用一个模拟微信的“关于”界面,来向大家展示Listview在微信中的用法,如何修饰和自定义ListView的风格,...

    《Qt on Android 核心编程》PDF版本下载.txt

    ### Qt on Android 核心编程知识点解析 #### 一、前言 《Qt on Android 核心编程》是一本深入探讨如何使用Qt框架在Android平台上进行应用程序开发的专业书籍。本书全面介绍了Qt在Android上的应用实践,包括从环境...

    Android实验指导书

    本资源摘要信息详细介绍了 Android 实验指导书中的知识点,包括 Android 环境搭建、Android 程序的基本框架、Android 程序的生命周期、Android 界面编程、Android 程序的调试、Android 虚拟设备、Android 程序的打包...

    Qt On Android核心编程 书对应源码

    《Qt On Android核心编程》是一本专注于在Android平台上利用Qt框架进行应用开发的专业书籍。书中深入探讨了如何将Qt技术与Android系统相结合,为开发者提供了一条在Android设备上构建高性能、用户友好的图形界面应用...

    android复习提纲

    android复习题纲 a)掌握Android的常用布局: ...d)掌握Android 界面编程的对话框和菜单的基本用法 e)了解Android网络编程:TCP和HTTP协议及其使用场合 f)掌握Android网络编程:使用WebView浏览网页,HTTPClient下载网页

    从零开始Android游戏编程(第二版)PDF版

    本书《从零开始Android游戏编程(第二版)》是为那些想要踏入这个领域的初学者精心编写的。它将引导你逐步了解并掌握Android游戏开发的基本技术和流程,助你实现自己的游戏梦想。 首先,Android游戏编程的基础是...

    Qt On Android核心编程 源码

    《Qt On Android核心编程》是一本专注于在Android平台上利用Qt框架进行应用开发的书籍,其源码提供了深入学习和实践的宝贵资源。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它允许开发者创建出功能强大、...

    android游戏编程实例基础

    在Android平台上进行游戏编程是一项富有挑战且充满乐趣的工作。"Android游戏编程实例基础"这个主题旨在引导初学者逐步掌握Android游戏开发的基本技能。本资源提供了一个详细的实例教程,即《从零开始Android游戏编程...

    Android网络编程-聊天室开发

    ### Android网络编程——聊天室开发 #### 一、概述 Android聊天室项目是基于Socket网络编程的一个典型应用案例。通过本项目的开发,开发者可以深入了解如何利用Android设备与服务器端进行通信,实现多人在线聊天的...

Global site tag (gtag.js) - Google Analytics