通讯录开发学习3
2011-12-13 20:02
155 查看
主要是对主界面进行确定,效果为:
1、
其中,上面有个ListView,用于显示联系人头像(姓名和电话),在这个gridview上显示一个查找的EditText。
即Listview,然后一个LinerLayout(里面有个EditText)底下一个gridview,
整个界面由一个相对布局包含。
即 main.xml
2、这个gridView我们这里也通过控件来实现,不用系统的,也用个布局文件来使用,在11中,该布局文件是用到的,。(可参见11中的解释) 名为:item_menu.xml
其实就一个ImageView,一个TextView(类似于label)。
3、
要在test.contact里新建一个主类Activity,名为MainActivity.java
4、在AndroidManifest.xml里要设置上述类为启动首选
5、运行后效果是
未完待续。。。。
1、
其中,上面有个ListView,用于显示联系人头像(姓名和电话),在这个gridview上显示一个查找的EditText。
即Listview,然后一个LinerLayout(里面有个EditText)底下一个gridview,
整个界面由一个相对布局包含。
即 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" > <LinearLayout android:id="@+id/list_ll" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/lv_userlist" android:layout_width="fill_parent" android:layout_height="wrap_content" ></ListView> </LinearLayout> <GridView android:id="@+id/gv_button_menu" android:layout_width="fill_parent" android:layout_height="65sp" android:layout_alignParentBottom="true" android:visibility="gone" ></GridView> <LinearLayout android:id="@+id/ll_search" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_above="@+id/gv_button_menu" android:visibility="gone" > <EditText android:id="@+id/et_search" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Enter the name or phone" android:textSize="18sp" ></EditText> </LinearLayout> </RelativeLayout>
2、这个gridView我们这里也通过控件来实现,不用系统的,也用个布局文件来使用,在11中,该布局文件是用到的,。(可参见11中的解释) 名为:item_menu.xml
其实就一个ImageView,一个TextView(类似于label)。
<?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="wrap_content" android:paddingBottom="5dip" > <ImageView android:id="@+id/item_image" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" ></ImageView> <TextView android:id="@+id/item_text" android:layout_below="@+id/item_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" ></TextView> </RelativeLayout>
3、
要在test.contact里新建一个主类Activity,名为MainActivity.java
package test.contact; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.KeyEvent; import android.view.View; import android.widget.GridView; import android.widget.SimpleAdapter; public class MainActivity extends Activity { GridView gv_button_menu; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.setContentView(R.layout.main); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_MENU){ // if(gv_button_menu==null){ loadButtonMenu(); } if(gv_button_menu.getVisibility()==View.GONE){ gv_button_menu.setVisibility(View.VISIBLE); } else { gv_button_menu.setVisibility(View.GONE); } } return super.onKeyDown(keyCode, event); } //加载底部的菜单(gridView) @SuppressWarnings("unchecked") private void loadButtonMenu(){ gv_button_menu =(GridView) this.findViewById(R.id.gv_button_menu); gv_button_menu.setBackgroundResource(R.drawable.menu_background); gv_button_menu.setNumColumns(5);//设置有多少列 gv_button_menu.setGravity(Gravity.CENTER);//设置位置 居中 gv_button_menu.setVerticalSpacing(100);//设置水平间隔 gv_button_menu.setHorizontalSpacing(10);//设置垂直间隔 ArrayList data = new ArrayList(); //是gridview里的图片和底部的字 ,这些是构造data HashMap map = new HashMap(); map.put("itemImage", R.drawable.menu_new); map.put("itemText", "增加"); data.add(map); map = new HashMap(); map.put("itemImage", R.drawable.menu_search); map.put("itemText", "查找"); data.add(map); map = new HashMap(); map.put("itemImage", R.drawable.menu_delete); map.put("itemText", "删除"); data.add(map); map = new HashMap(); map.put("itemImage", R.drawable.controlbar_showtype_list); map.put("itemText", "菜单"); data.add(map); map = new HashMap(); map.put("itemImage", R.drawable.menu_exit); map.put("itemText", "退出"); data.add(map); //创建Adapter SimpleAdapter adapter = new SimpleAdapter(this,data, R.layout.item_menu,new String[]{"itemImage","itemText"},new int[]{R.id.item_image,R.id.item_text}); //SimpleAdapter的参数有(context,listmapdata,resource,from,to),其中resource是布局,即item_menu.xml //data中的map都将布局(resources)通过后面对应的两个联系起来 gv_button_menu.setAdapter(adapter); //gridview只能展示,是个视图,而适配器就是将数据和展现方式联系起来的方式 } }
4、在AndroidManifest.xml里要设置上述类为启动首选
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="test.contact" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".AddNewActivity" android:label="@string/app_name"> </activity> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
5、运行后效果是
未完待续。。。。
相关文章推荐
- iOS开发学习-类似微信聊天消息中的电话号码点击保存到通讯录中的功能
- iOS开发脚踏实地学习day12-通讯录和plist存储
- iOS开发学习001_01:Address Book 01 显示通讯录中某人姓名、电话
- 通讯录开发学习1
- Symbian OS应用开发学习笔记之通讯录(转)
- 通讯录开发学习5
- iOS开发学习之#简单通讯录的制作#
- Symbian OS应用开发学习笔记之通讯录(电话薄Contacts)
- 通讯录开发学习4
- 通讯录开发学习6
- Symbian OS应用开发学习笔记之通讯录(电话薄Contacts)
- 通讯录开发学习2
- Symbian OS应用开发学习笔记之通讯录
- GTK+图形化应用程序开发学习笔记(七)—标签构件.事件盒构件
- 专访邓凡平:Android开发路上的快速学习之道
- Cocos2d-x 3.1.1 学习日志9--一“上一下其乐无穷”游戏开发系列一
- iOS开发学习笔记-创建和初始化对象
- 学习ARM开发(10)
- Android开发入门学习笔记之三
- 黑马程序员--数据库开发及ADO.NET学习总结