Android学习笔记(五*头像)

来源:互联网 发布:latex 算法伪代码 编辑:程序博客网 时间:2024/06/17 00:24

GridView结合BaseAdapter更换头像

1.1主界面布局:

<?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:paddingTop="20px"    android:orientation="horizontal" >    <LinearLayout        android:id="@+id/linearLayout1"        android:orientation="vertical"        android:layout_weight="2"        android:paddingLeft="20px"        android:layout_width="wrap_content"        android:layout_height="wrap_content" >        <TableLayout            android:id="@+id/tableLayout1"            android:layout_width="match_parent"            android:layout_height="wrap_content" >            <TableRow                android:id="@+id/tableRow1"                android:layout_width="wrap_content"                android:layout_height="wrap_content" >    <TextView        android:id="@+id/textView1"        android:textSize="20px"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="用户名:" />    <EditText        android:id="@+id/user"        android:minWidth="400px"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />                        </TableRow>            <TableRow                android:id="@+id/tableRow2"                android:layout_width="wrap_content"                android:layout_height="wrap_content" >    <TextView        android:id="@+id/textView2"        android:textSize="20px"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="密码:" />    <EditText        android:id="@+id/pwd"        android:inputType="textPassword"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />            </TableRow>            <TableRow                android:id="@+id/tableRow3"                android:layout_width="wrap_content"                android:layout_height="wrap_content" >     <TextView        android:id="@+id/textView3"        android:textSize="20px"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="确认密码:" />    <EditText        android:id="@+id/repwd"        android:inputType="textPassword"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />               </TableRow>            <TableRow                android:id="@+id/tableRow4"                android:layout_width="wrap_content"                android:layout_height="wrap_content" >     <TextView        android:id="@+id/textView3"        android:textSize="20px"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="E-mail地址:" />    <EditText        android:id="@+id/email"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />            </TableRow>        </TableLayout></LinearLayout><LinearLayout        android:id="@+id/linearLayout1"        android:orientation="vertical"        android:gravity="center_horizontal"        android:layout_width="wrap_content"        android:layout_weight="1"        android:layout_height="wrap_content" ><ImageView    android:id="@+id/imageView1"    android:layout_width="158px"    android:layout_height="150px"    android:src="@drawable/ic_launcher" /><Button    android:id="@+id/button1"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="选择头像" /></LinearLayout></LinearLayout>
效果如图:

1.2主活动:

package com.example.sam.ch043;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.content.Intent;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.ImageView;import android.os.Build;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Button button=(Button)findViewById(R.id.button1);//获取选择头像按钮        button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {        Intent intent=new Intent(MainActivity.this,HeadActivity.class);        startActivityForResult(intent, 0x11);//启动intent对应的Activity}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if(requestCode==0x11 && resultCode==0x11){//判断是否为待处理的结果Bundle bundle=data.getExtras();//获取传递的数据包int imageId=bundle.getInt("imageId");//获取选择的头像IDImageView iv=(ImageView)findViewById(R.id.imageView1);//获取布局文件中添加的ImageView组件iv.setImageResource(imageId);//显示选择的头像}}}

2.1第二个活动的布局:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" ><GridView android:id="@+id/gridView1" android:layout_height="match_parent" android:layout_width="match_parent" android:layout_marginTop="10px"android:horizontalSpacing="3px"android:verticalSpacing="3px"android:numColumns="4"/></LinearLayout>
效果图:

2.2第二个活动代码:

package com.example.sam.ch043;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;public class HeadActivity extends Activity {public int[] imageId = new int[] { R.drawable.img01, R.drawable.img02,R.drawable.img03, R.drawable.img04, R.drawable.img05,R.drawable.img06, R.drawable.img07, R.drawable.img08,R.drawable.img09 }; // 定义并初始化保存头像id的数组@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.head);//设置该Activity使用的布局GridView gridview = (GridView) findViewById(R.id.gridView1); // 获取GridView组件BaseAdapter adapter=new BaseAdapter() {@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageview;//声明ImageView的对象if(convertView==null){imageview=new ImageView(HeadActivity.this);//实例化ImageView的对象/*************设置图像的宽度和高度******************/imageview.setAdjustViewBounds(true);imageview.setMaxWidth(158);imageview.setMaxHeight(150);/**************************************************/imageview.setPadding(5, 5, 5, 5);//设置ImageView的内边距}else{imageview=(ImageView)convertView;}imageview.setImageResource(imageId[position]);//为ImageView设置要显示的图片return imageview;//返回ImageView}/*  * 功能:获得当前选项的ID */@Overridepublic long getItemId(int position) {return position;}/*  * 功能:获得当前选项 */@Overridepublic Object getItem(int position) {return position;}/* * 获得数量 */@Overridepublic int getCount() {return imageId.length;}};gridview.setAdapter(adapter); // 将适配器与GridView关联gridview.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {Intent intent=getIntent();//获取Intent对象Bundle bundle=new Bundle();//实例化要传递的数据包bundle.putInt("imageId",imageId[position] );// 显示选中的图片intent.putExtras(bundle);//将数据包保存到intent中setResult(0x11,intent);//设置返回的结果码,并返回调用该Activity的Activityfinish();//关闭当前Activity}});}}






1 0
原创粉丝点击