android UI笔记.docx

上传人:b****7 文档编号:8691242 上传时间:2023-02-01 格式:DOCX 页数:34 大小:108.66KB
下载 相关 举报
android UI笔记.docx_第1页
第1页 / 共34页
android UI笔记.docx_第2页
第2页 / 共34页
android UI笔记.docx_第3页
第3页 / 共34页
android UI笔记.docx_第4页
第4页 / 共34页
android UI笔记.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

android UI笔记.docx

《android UI笔记.docx》由会员分享,可在线阅读,更多相关《android UI笔记.docx(34页珍藏版)》请在冰豆网上搜索。

android UI笔记.docx

androidUI笔记

ListView

ListView根据Adapter的不同分为:

ArrayAdapter

SimpleAdapter

SimpleCursorAdapter

CustomAdapter自定义Adapter

 

ArrayAdapter

publicclassMainActivityextendsActivity{

privatestaticfinalString[]songArray={"稳稳的幸福.mp3","稳稳的幸福0.mp3",

"稳稳的幸福1.mp3"};

privateListViewmListView;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

ArrayAdaptermAdapter=newArrayAdapter(this,

android.R.layout.simple_list_item_1,songArray);

mListView.setAdapter(mAdapter);

mListView.setOnItemClickListener(newOnItemClickListener(){

@Override

publicvoidonItemClick(AdapterView

>adapterView,Viewview,intindex,

longid){

Toast.makeText(MainActivity.this,songArray[index],Toast.LENGTH_SHORT).show();

}

});

}

}

 

SimpleAdapter

publicclassMainActivityextendsActivity{

privateArrayListcompanyList;

privateHashMapcompanyMap;

privateListViewmListView;

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

companyList=newArrayList();

companyMap=newHashMap();

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

companyMap.put("image",R.drawable.ic_launcher);

companyMap.put("company","中国人力资源网");

companyMap.put("product","HR人力资源管理软件");

companyList.add(companyMap);

companyMap=newHashMap();

companyMap.put("image",R.drawable.ic_launcher);

companyMap.put("company","深圳华为软件有限公司");

companyMap.put("product","华为CC软件和移动应用软件");

companyList.add(companyMap);

companyMap=newHashMap();

companyMap.put("image",R.drawable.ic_launcher);

companyMap.put("company","中兴通讯南研所");

companyMap.put("product","ZsmartBOSS业务运营管理系统");

companyList.add(companyMap);

SimpleAdaptercompanyAdapter=newSimpleAdapter(this,companyList,

R.layout.item,

newString[]{"image","company","product"},newint[]{

R.id.iconImageView,RpanyTextView,

R.id.productTextView});

mListView.setAdapter(companyAdapter);

//ListView列表选择事件

mListView.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener(){

publicvoidonItemSelected(AdapterView

>parent,Viewview,

intposition,longid){

MapinfoMap=(Map)parent.getSelectedItem();

Toast.makeText(MainActivity.this,

"Java语言开发:

"+infoMap.get("product"),

Toast.LENGTH_SHORT).show();

}

publicvoidonNothingSelected(AdapterView

>parent){

}

});

//ListView列表单击事件

mListView.setOnItemClickListener(newAdapterView.OnItemClickListener(){

publicvoidonItemClick(AdapterView

>parent,Viewview,

intposition,longid){

MapinfoMap=(Map)companyList.get(position);

Toast.makeText(

MainActivity.this,

(String)infoMap.get("company")+"开发"

+(String)infoMap.get("product"),

Toast.LENGTH_SHORT).show();

}

});

}

}

SimpleCursorAdapter

 

自定义Adapter

1.定义item布局

xmlversion="1.0"encoding="utf-8"?

>

android="

android:

layout_width="match_parent"

android:

layout_height="match_parent"

android:

orientation="horizontal">

android:

id="@+id/iconImageView"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

layout_weight="0"/>

android:

id="@+id/companyTextView"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

layout_margin="5dip"

android:

layout_weight="1"

android:

singleLine="true"/>

android:

id="@+id/productTextView"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

layout_margin="5dip"

android:

layout_weight="2"

android:

singleLine="true"/>

android:

id="@+id/delButton"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

layout_margin="5dip"

android:

layout_weight="0"

android:

text="Delete"/>

2.定义ListView,实例化

3.定义数据List

4.定义Adapter

a.CustomerAdapterextendsBaseAdapter

b.publicCusomerAdapter(Contextcontext,Listlist)

c.getCount,getItem,getItemId

d.getView

加载item布局LayoutInflater

将item布局构造为一个View

从View中取各个view,为各个view赋值

返回View

ProgressBarSeekBarRatingBarTabToastNotification

AlertDialogPopupWindowMenuDatePickerTimePickerThemeStyle

1.AlertDialog.Builderbuilder=newAlertDialog.Builder;

2.builder.setIcon|setTitle|setMessage|setView|setItems|setSingleChicon…

.set…Button(String,DialogInterface.onClickListener())

.create().show();

托管式的Dialog

showDialog(int)

onCreateDialog(int){

if(int=0){

newAlertDialog

}

}

自定义Dialog:

Layout(view)

LayoutInfalter

myView

toast。

setView(myView)

CustomView

Tab:

TabHost+TabWidget

TabIDTabTitle/IconTabContent

tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("tab1").setContent(R.id.view1));

Dialog:

1.new2.托管式的Dialog

1.AlertDialog

a.button

b.radio

c.check

d.list

2.ProgressDialog

3.DatePickerDialog or TimePickerDialog

托管式的Dialog

1.Activity.showDialog(int)

2.onCreateDialog(int){

3.newAlertDialog();

4.}

模态对话框

 

ActionBar---Menu

CustomViewStyleTheme

UI(ListViewDialogProgressBarGridViewGallery)

Activity

 

1.XML定义menu文件res/menu/menu.xml

2.onCreateOptionsMenu()

MenuInfaltermenu.xml

4.onOptionItemSelected(MenuItemitem)

代码:

onCreateOptionsMenu(Menumenu)

menu.add(0,0,0,”增加”);

menu.add(0,1,1,”增加”);

onCreate(){

registerContext

}

 

1.1Menu

Android提供了三种基础菜单类型:

选项菜单OptionsMenu

这是一个活动的主菜单。

通过按下设备菜单键来显示它。

选项菜单包含两组菜单项:

1.图标菜单IconMenu

这个是当用户按下菜单键时最初出现屏幕下方的item集合。

它支持最多6个菜单项。

只有这些菜单支持图标而且这些菜单并不支持checkboxes或者radiobuttons。

2.扩展菜单ExpandedMenu

这是通过按“更多”菜单显现出来的一个竖向的项目列表。

它仅当图标菜单过多时存在而且是由6个以及其它选项菜单组成。

More菜单项包括在内,当选择时,显示扩展菜单。

按下Back按钮关闭图标菜单.这个菜单中可以显示全文字、快捷键、checkbox和radiobutton。

checkbox或radiobutton菜单项只能在扩展菜单中使用或者它们的状态信息改用图标或文本来显示。

上下文菜单ContextMenu

这是一个浮动菜单列表,通常在你长时间按在一个视图上时出现(比如一个列表项)

子菜单Submenu

是一个浮动菜单列表,通过在选项菜单或上下文菜单选择菜单项显露出来。

不支持嵌套子菜单。

1.1.1OptionsMenu

Xml配置实现

res/menu/menu.xml

xmlversion="1.0"encoding="utf-8"?

>

android="

android:

id="@+id/previous"

android:

title="上一步"

android:

enabled="false"

android:

icon="@drawable/icon"/>

android:

id="@+id/play"

android:

title="开始"

android:

icon="@drawable/icon"/>

android:

id="@+id/next"

android:

title="下一步"

android:

icon="@drawable/icon"/>

//创建Menu

publicbooleanonCreateOptionsMenu(Menumenu){

MenuInflaterinflater=getMenuInflater();

//设置menu界面为res/menu/menu.xml

inflater.inflate(R.menu.menu,menu);

returntrue;

}

//准备动态初始化MenuItem

publicbooleanonPrepareOptionsMenu(Menumenu){

menu.findItem(R.id.previous).setEnabled(true);

returntrue;

}

//处理菜单事件

publicbooleanonOptionsItemSelected(MenuItemitem){

intitemId=item.getItemId();

switch(itemId)

{

caseR.id.previous:

Toast.makeText(WidgetActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();

break;

caseR.id.play:

Toast.makeText(WidgetActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();

break;

caseR.id.next:

Toast.makeText(WidgetActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();

break;

}

returntrue;

}

代码实现

//创建Menu

publicbooleanonCreateOptionsMenu(Menumenu){

menu.add(0,0,0,"上一步").setIcon(R.drawable.icon).setAlphabeticShortcut('A');

menu.add(0,1,1,"开始").setIcon(R.drawable.icon).setAlphabeticShortcut('W');

menu.add(0,2,2,"下一步").setIcon(R.drawable.icon).

setAlphabeticShortcut(SearchManager.MENU_KEY);

returntrue;

}

//修改菜单

@Override

publicbooleanonPrepareOptionsMenu(Menumenu){

super.onPrepareOptionsMenu(menu);

if(flag){

menu.findItem(R.id.help).setVisible(false);

}else{

menu.findItem(R.id.help).setVisible(true);

}

returntrue;

}

//处理菜单事件

publicbooleanonOptionsItemSelected(MenuItemitem){

intitemId=item.getItemId();

switch(itemId)

{

case0:

Toast.makeText(WidgetActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();

break;

case1:

Toast.makeText(WidgetActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();

break;

case2:

Toast.makeText(WidgetActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();

break;

}

returntrue;

}

1.1.2ContextualMenu

Android的上下文菜单在概念上和PC软件的右键菜单类似。

当一个视图注册到一个上下文菜单时,执行一个在该对象上的“长按”(按住不动差不多两秒钟)动作,将出现一个提供相关功能的浮动菜单。

上下文菜单可以被注册到任何视图对象中,不过,最常见的是用于列表视图ListView的item,在按中列表项时,会转换其背景色而提示将呈现上下文菜单。

注意:

上下文菜单项不支持图标或快捷键。

publicclassWidgetActivityextendsListActivity{

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

String[]data={"刘若英-后来.mp3","王菲-当时的月亮.mp3","张惠妹-听海.mp3"};

ArrayAdapteradapter=

newArrayAdapter(WidgetActivity.this,android.R.layout.simple_list_item_1,data);

setListAdapter(adapter);

registerForContextMenu(getListView());

}

publicvoidonCreateContextMenu(ContextMenumenu,Viewv,

ContextMenuInfomenuInfo){

super.onCreateContextMenu(menu,v,menuInfo);

menu.add(0,0,0,"移除播放列表");

menu.add(0,1,0,"物理删除");

}

publicbooleanonContextItemSelected(MenuItemitem){

//提供当前选中项的信息

AdapterContextMenuInfoinfo=(AdapterContextMenuInfo)item.getMenuInfo();

switch(item.getItemId()){

case0:

Toast.makeText(WidgetActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();

returntrue;

case1:

Toast.makeText(WidgetActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();

returntrue;

default:

returnsuper.onContextItemSelected(item);

}

}

}

1.1.3SubMenu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1