Android開發學習:[10]帶頭像的用戶註冊頁面?

本經驗將帶領大家開發帶頭像的用戶註冊頁面,其中頭像可以由用戶自己選擇。

工具/原料

Android Studio或者Eclipse

方法/步驟

首先是註冊頁面的佈局:

android:layout_height="fill_parent"

android:paddingTop="20px"

android:orientation="horizontal" >

android:id="@+id/linearLayout1"

android:orientation="vertical"

android:layout_weight="2"

android:paddingLeft="20px"

android:layout_width="wrap_content"

android:layout_height="wrap_content" >

android:id="@+id/tableLayout1"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

android:id="@+id/tableRow1"

android:layout_width="wrap_content"

android:layout_height="wrap_content" >

android:id="@+id/textView1"

android:textSize="20px"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="用戶名:" />

android:id="@+id/user"

android:minWidth="400px"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:id="@+id/tableRow2"

android:layout_width="wrap_content"

android:layout_height="wrap_content" >

android:id="@+id/textView2"

android:textSize="20px"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="密碼:" />

android:id="@+id/pwd"

android:inputType="textPassword"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:id="@+id/tableRow3"

android:layout_width="wrap_content"

android:layout_height="wrap_content" >

android:id="@+id/textView3"

android:textSize="20px"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="確認密碼:" />

android:id="@+id/repwd"

android:inputType="textPassword"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:id="@+id/tableRow4"

android:layout_width="wrap_content"

android:layout_height="wrap_content" >

android:id="@+id/textView4"

android:textSize="20px"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="E-mail地址:" />

android:id="@+id/email"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:id="@+id/linearLayout2"

android:orientation="vertical"

android:gravity="center_horizontal"

android:layout_width="wrap_content"

android:layout_weight="1"

android:layout_height="wrap_content" >

android:id="@+id/imageView1"

android:layout_width="158px"

android:layout_height="150px"

android:src="@drawable/ic_launcher" />

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="選擇頭像" />

效果如下圖所示:

Android開發學習:[10]帶頭像的用戶註冊頁面

然後是圖庫的頁面佈局,由用戶去選擇圖片,這裡我就用windows系統裡面的幾張照片:

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:id="@+id/gridView"

android:numColumns="4" />

Android開發學習:[10]帶頭像的用戶註冊頁面

然後我們在註冊頁面的Activity寫入以下代碼:

點擊按鈕跳轉到圖庫Activity頁面中:

Button button1=(Button)findViewById(R.id.button1);

button1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(MainActivity.this,HeadActivity.class);

startActivityForResult(intent,0x11);

}

});

重寫

@Override onActivityResult方法:

protected void onActivityResult(int requestCode,int resultCode,Intent data){

super.onActivityResult(requestCode,resultCode,data);

if(requestCode==0x11&&requestCode==0x11){

Bundle bundle=data.getExtras();

int imageId=bundle.getInt("imageId");

ImageView imageView=(ImageView)findViewById(R.id.imageView1);

imageView.setImageResource(imageId);

}

}

Android開發學習:[10]帶頭像的用戶註冊頁面

在圖庫Activity裡面寫入以下代碼響應用戶點擊圖片並通過Intent傳遞給前一個Activity:

GridView gridView=(GridView)findViewById(R.id.gridView);

BaseAdapter adapter=new BaseAdapter() {

@Override

public int getCount() {

return imageId.length;

}

@Override

public Object getItem(int position) {

return position;

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ImageView imageView;

if(convertView==null){

imageView=new ImageView(HeadActivity.this);

imageView.setAdjustViewBounds(true);

imageView.setMaxHeight(58);

imageView.setMaxWidth(50);

imageView.setPadding(5,5,5,5);

}else{

imageView=(ImageView)convertView;

}

imageView.setImageResource(imageId[position]);

return imageView;

}

};

gridView.setAdapter(adapter);

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView parent, View view, int position, long id) {

Intent intent=getIntent();

Bundle bundle=new Bundle();

bundle.putInt("imageId",imageId[position]);

intent.putExtras(bundle);

setResult(0x11,intent);

finish();

}

});

這裡主要是重寫getView方法:

Android開發學習:[10]帶頭像的用戶註冊頁面

然後我們點擊運行界面如下:

Android開發學習:[10]帶頭像的用戶註冊頁面

我們點擊按鈕之後跳轉Activity選擇圖片頭像:

Android開發學習:[10]帶頭像的用戶註冊頁面

然後我們點擊一個圖片又跳轉回去,頭像更改:

Android開發學習:[10]帶頭像的用戶註冊頁面

後面會繼續更新Android學習經驗希望大家繼續關鍵,覺得好的在右邊給個贊,或者投個票吧。

頁面, 大學, 頭像, 用戶註冊,
相關問題答案