安卓UI教程,Android UI 小结

 2023-09-25 阅读 23 评论 0

摘要:UI开发第1篇——自定义列表 编辑器加载中... MainActivity.classpublic class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //绑定Layout里面的L

UI开发第1篇——自定义列表

编辑器加载中...

MainActivity.class
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//绑定Layout里面的ListView
ListView list = (ListView) findViewById(R.id.ListView01);

//生成动态数组,加入数据
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<5;i++)
{
if(i==0){
HashMap
<String, Object> map = new HashMap<String, Object>();
map.put(
"ItemImage", R.drawable.checked);//图像资源的ID
map.put("ItemTitle", "个人信息");
map.put(
"LastImage", R.drawable.lastimage);
listItem.add(map);
}
else if(i==1){
HashMap
<String, Object> map = new HashMap<String, Object>();
map.put(
"ItemImage", R.drawable.c);//图像资源的ID
map.put("ItemTitle", "修改密码");
map.put(
"LastImage", R.drawable.lastimage);
listItem.add(map);
}
else if(i==2){
HashMap
<String, Object> map = new HashMap<String, Object>();
map.put(
"ItemImage", R.drawable.d);//图像资源的ID
map.put("ItemTitle", "网络设置");
map.put(
"LastImage", R.drawable.lastimage);
listItem.add(map);
}
else if(i==3){
HashMap
<String, Object> map = new HashMap<String, Object>();
map.put(
"ItemImage", R.drawable.d);//图像资源的ID
map.put("ItemTitle", "打印设置");
map.put(
"LastImage", R.drawable.lastimage);
listItem.add(map);
}
else{
HashMap
<String, Object> map = new HashMap<String, Object>();
map.put(
"ItemImage", R.drawable.e);//图像资源的ID
map.put("ItemTitle", "返回");
map.put(
"LastImage", R.drawable.lastimage);
listItem.add(map);
}

}
//生成适配器的Item和动态数组对应的元素
SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,// 数据源
R.layout.list_items,//ListItem的XML实现
//动态数组与ImageItem对应的子项
new String[] {"ItemImage","ItemTitle", "LastImage"},
//ImageItem的XML文件里面的一个ImageView,两个TextView ID
new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.last}
);

//添加并且显示
list.setAdapter(listItemAdapter);

//添加点击
list.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
setTitle(
"点击第"+arg2+"个项目");
if(arg2 == 4){
MainActivity.
this.finish();
}
}
});

//添加长按点击
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
menu.setHeaderTitle(
"长按菜单-ContextMenu");
menu.add(
0, 0, 0, "弹出长按菜单0");
menu.add(
0, 1, 0, "弹出长按菜单1");
}

});
}

//长按菜单响应函数
@Override
public boolean onContextItemSelected(MenuItem item) {
setTitle(
"点击了长按菜单里面的第"+item.getItemId()+"个项目");
return super.onContextItemSelected(item);
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width
="fill_parent"
android:layout_height
="fill_parent"
android:background
="#ffffff"
xmlns:android
="http://schemas.android.com/apk/res/android">
<ListView android:layout_width="fill_parent"
android:layout_height
="wrap_content"
android:id
="@+id/ListView01"
android:divider
="@drawable/divider_color"
android:dividerHeight
="3dip"
android:cacheColorHint
="#00000000"
/>
</LinearLayout>


list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/RelativeLayout01"
android:layout_width
="fill_parent"
xmlns:android
="http://schemas.android.com/apk/res/android"
android:layout_height
="wrap_content"
android:paddingBottom
="4dip"
android:paddingLeft
="12dip"
android:paddingRight
="12dip"
android:background
="@drawable/list_bg">
<ImageView
android:paddingTop="12dip"
android:layout_alignParentLeft
="true"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:id
="@+id/ItemImage"
/>
<TextView
android:text="TextView01"
android:layout_height
="wrap_content"
android:layout_marginTop
="30px"
android:textSize
="20dip"
android:paddingLeft
="12dip"
android:textColor
="#000000"
android:layout_width
="fill_parent"
android:id
="@+id/ItemTitle"
android:layout_toRightOf
="@+id/ItemImage"
/>
<ImageView
android:paddingTop="12dip"
android:layout_marginTop
="20px"
android:layout_alignParentRight
="true"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:id
="@+id/last"
/>
</RelativeLayout>

UI开发第2篇——实现像handcent sms或者chomp sms那样的气泡短信样

listview:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation
="vertical"
android:layout_width
="fill_parent"
android:layout_height
="fill_parent"
android:background
="@android:color/white"
>
<ListView
android:layout_width
="fill_parent"
android:layout_height
="fill_parent"
android:divider
="@null"
android:dividerHeight
="0dip"
android:cacheColorHint
="#00000000"
android:listSelector
="@drawable/list_item_style"
android:id
="@+id/itemlist" />
</LinearLayout>

2)ListView item
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android
="http://schemas.android.com/apk/res/android"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content">

<TextView android:id="@+id/TextView01"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:textColor
="@android:color/black"
android:background
="@drawable/bg"></TextView>
</LinearLayout>

3)java:

public class HandcentList extends Activity {
/** Called when the activity is first created. */
ListView itemlist
= null;
List
<Map<String, Object>> list;

final String[] str={"A","B","C","D","E","F"};
/** Called when the activity is first created. */

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
itemlist
= (ListView) findViewById(R.id.itemlist);
refreshListItems();
}
private void refreshListItems() {
list
= buildListForSimpleAdapter();
SimpleAdapter notes
= new SimpleAdapter(this, list, R.layout.item,
new String[] { "str" }, new int[] { R.id.TextView01,});
itemlist.setAdapter(notes);
itemlist.setSelection(
0);
}
private List<Map<String, Object>> buildListForSimpleAdapter() {
List
<Map<String, Object>> list = new ArrayList<Map<String, Object>>(2);
// Build a map for the attributes
Map<String, Object> map = new HashMap<String, Object>();
map.put(
"str", "呵呵呵呵呵");
list.add(map);

map
= new HashMap<String, Object>();
map.put(
"str", "呵呵");
list.add(map);

map
= new HashMap<String, Object>();
map.put(
"str", "呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵");
list.add(map);

map
= new HashMap<String, Object>();
map.put(
"str", "呵呵呵呵呵呵");
list.add(map);

map
= new HashMap<String, Object>();
map.put(
"str", "呵呵呵呵呵呵呵呵呵呵\n呵呵呵呵\n呵呵\n呵呵");
list.add(map);

map
= new HashMap<String, Object>();
map.put(
"str", "呵呵呵呵呵呵呵呵呵呵呵呵呵呵\n呵呵呵呵");
list.add(map);
return list;
}
}

安卓UI教程、UI开发第二篇——多级列表(ExpandableListView)

ExListView.java
package cn.nedu.exlistview;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AbsListView;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class ExListView extends Activity {
private static final String G_TEXT = "g_text";

private static final String C_TEXT1 = "c_text1";
private static final String C_TEXT2 = "c_text1";

List
<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
List
<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();

ExAdapter adapter;
ExpandableListView exList;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

for (int i = 0; i < 5; i++) {
Map
<String, String> curGroupMap = new HashMap<String, String>();
groupData.add(curGroupMap);
curGroupMap.put(G_TEXT,
"Group " + i);

List
<Map<String, String>> children = new ArrayList<Map<String, String>>();
for (int j = 0; j < 5; j++) {
Map
<String, String> curChildMap = new HashMap<String, String>();
children.add(curChildMap);
curChildMap.put(C_TEXT1,
"Child " + j);
curChildMap.put(C_TEXT2,
"Child " + j);
}
childData.add(children);
}

adapter
=new ExAdapter(ExListView.this);
exList
= (ExpandableListView) findViewById(R.id.list);
exList.setAdapter(adapter);
exList.setGroupIndicator(
null);
exList.setDivider(
null);
}

class ExAdapter extends BaseExpandableListAdapter {
ExListView exlistview;

public ExAdapter(ExListView elv) {
super();
exlistview
= elv;
}
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {

View view
= convertView;
if (view == null) {
LayoutInflater inflater
= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view
= inflater.inflate(R.layout.member_listview, null);
}

TextView title
= (TextView) view.findViewById(R.id.content_001);
title.setText(getGroup(groupPosition).toString());

ImageView image
=(ImageView) view.findViewById(R.id.tubiao);
if(isExpanded)
image.setBackgroundResource(R.drawable.btn_browser2);
else image.setBackgroundResource(R.drawable.btn_browser);

return view;
}


public long getGroupId(int groupPosition) {
return groupPosition;
}

public Object getGroup(int groupPosition) {
return groupData.get(groupPosition).get(G_TEXT).toString();
}

public int getGroupCount() {
return groupData.size();

}
//**************************************
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View view
= convertView;
if (view == null) {
LayoutInflater inflater
= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view
= inflater.inflate(R.layout.member_childitem, null);
}
final TextView title = (TextView) view.findViewById(R.id.child_text);
title.setText(childData.get(groupPosition).get(childPosition).get(C_TEXT1).toString());
final TextView title2 = (TextView) view.findViewById(R.id.child_text2);
title2.setText(childData.get(groupPosition).get(childPosition).get(C_TEXT2).toString());

return view;
}

public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}

public Object getChild(int groupPosition, int childPosition) {
return childData.get(groupPosition).get(childPosition).get(C_TEXT1).toString();
}

public int getChildrenCount(int groupPosition) {
return childData.get(groupPosition).size();
}
//**************************************
public boolean hasStableIds() {
return true;
}

public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}

}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation
="vertical" android:layout_width="fill_parent"
android:layout_height
="fill_parent" android:background="@drawable/default_bg">

<ExpandableListView android:id="@+id/list"
android:layout_width
="fill_parent"
android:layout_height
="fill_parent"
android:layout_alignParentLeft
="true"/>

</RelativeLayout>

member_childitem.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width
="fill_parent"
android:layout_height
="fill_parent"
android:id
="@+id/childlayout"
android:orientation
="horizontal">
<ImageView android:id="@+id/child_image"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:background
="@drawable/child_image"
android:paddingTop
="10dip"
android:layout_marginLeft
="40dip"></ImageView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height
="wrap_content"
android:orientation
="vertical">
<TextView android:text=""
android:id
="@+id/child_text"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:gravity
="center_vertical"
android:textSize
="16dip"
android:layout_gravity
="center_vertical"></TextView>
<TextView android:text=""
android:id
="@+id/child_text2"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:textSize
="12dip"
android:gravity
="center_vertical"
android:layout_gravity
="center_vertical"></TextView>
</LinearLayout>
</LinearLayout>

member_listview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width
="fill_parent"
android:layout_height
="40dip"
android:layout_gravity
="center_horizontal">

<LinearLayout android:orientation="horizontal"
android:layout_width
="fill_parent"
android:layout_height
="40dip"
android:id
="@+id/layout_013">
<ImageView android:id="@+id/ImageView01"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content"
android:gravity
="center_vertical"
android:paddingTop
="10dip"
android:src
="@drawable/user_group"></ImageView>
<RelativeLayout android:id="@+id/layout_013"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content">
<TextView android:id="@+id/content_001"
android:textSize
="26px"
android:layout_width
="wrap_content"
android:layout_height
="fill_parent"
android:textColor
="#FFFFFF"
android:gravity
="center_vertical"
android:paddingLeft
="10px"
android:layout_gravity
="center_vertical"></TextView>
<ImageView android:layout_width="wrap_content"
android:layout_height
="wrap_content"
android:id
="@+id/tubiao"
android:layout_alignParentRight
="true"></ImageView>
</RelativeLayout>
</LinearLayout>

<!--
<RelativeLayout android:id="@+id/layout_013"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"></ImageView>
<TextView android:id="@+id/content_001"
android:text="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_toRightOf="@+id/ImageView01"
android:layout_height="wrap_content"></TextView>
<ImageView android:layout_width="wrap_content"
android:layout_toRightOf="@+id/content_001"
android:layout_height="wrap_content"
android:id="@+id/tubiao"></ImageView>
</RelativeLayout>
-->
</LinearLayout>

转载于:https://www.cnblogs.com/liushang0419/archive/2011/07/20/2111876.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/95873.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息