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
- Android学习笔记(五*头像)
- Android学习笔记(五)
- android学习笔记(五)
- Android学习笔记(五)
- Android学习笔记(五)
- Android学习笔记之设置头像
- Android学习笔记五
- Android 学习笔记(五)
- Android开发学习笔记(五)Android五大布局
- Android 笔记 - 圆形头像
- Android学习笔记(五):AndroidDebug
- android分层学习笔记(五)
- android学习笔记(五) Tab使用
- android入门:zxing学习笔记(五)
- Android学习笔记(五):布局控件
- Android开发秘籍学习笔记(五)
- android入门:zxing学习笔记(五)
- Android入门学习笔记整理(五)
- vector与deque
- PEID插件的写法
- css实现文字垂直居中问题
- ffmpeg (七):将h264编码的视频流保存为BMP或者JPEG图片
- union
- Android学习笔记(五*头像)
- leetCode No.416 Partition Equal Subset Sum
- spark 部署在hadoop yarn
- 判断素数
- ELK采集Mysql、Oracle配置
- LSTM
- ImageView圆角处理one
- 动态数组
- 二分法查找