本帖最后由 dori 于 2020-12-18 23:12 編輯
完成帶選擇頭像功能的用戶注冊應用程序開發。
圖片1.png (17.8 KB, 下載次數: 79)
下載附件
2020-12-15 20:27 上傳
圖1
圖片2.png (63.79 KB, 下載次數: 79)
下載附件
2020-12-15 20:27 上傳
圖2
圖片3.png (19.41 KB, 下載次數: 102)
下載附件
2020-12-15 20:27 上傳
圖3
MainActivity.java文件: import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//獲取界面上的組件
Button bn=findViewById(R.id.bn);
//為按鈕綁定事件監聽器
bn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//創建需要對應于目標Activity的Intent
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
//啟動指定Activity并等待返回結果,其中0x11是請求碼,用于標識該請求
startActivityForResult(intent,0x11);
}
});
}
@Override
public void onActivityResult(int requestCode,int resultCode,Intent intent)
{
//當requestCode、resultCode同時為0x11時,即處理特定的結果
if(requestCode==0x11&&resultCode==0x11)
{
//取出Intent里的Extras數據
Bundle data=intent.getExtras();
//取出Bundle中的數據
int imageId=data.getInt("ID");
ImageView imageView=findViewById(R.id.iv);
imageView.setImageResource(imageId);
}
}
}
SecondActivity.java文件:
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 SecondActivity 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};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
//獲取組件
GridView gridView=findViewById(R.id.gridView1);
BaseAdapter adapter=new BaseAdapter() {
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if(convertView==null)
{
imageView=new ImageView(SecondActivity.this);
imageView.setAdjustViewBounds(true);
imageView.setMaxWidth(158);
imageView.setMaxHeight(150);
imageView.setPadding(5, 5, 5, 5);
}
else
{
imageView=(ImageView)convertView;
}
imageView.setImageResource(imageId[position]);
return imageView;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public int getCount() {
return imageId.length;
}
};
gridView.setAdapter(adapter);
//綁定監聽器
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//獲得Intent
Intent intent=getIntent();
Bundle bundle=new Bundle();
bundle.putInt("ID", imageId[position]);
intent.putExtras(bundle);
setResult(0x11,intent);
finish();
}
});
}
}
activity_main.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="247dp"
android:layout_height="280dp"
android:layout_marginTop="100dp"
android:layout_marginEnd="2dp"
android:layout_marginRight="2dp"
android:layout_marginBottom="365dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/linearLayout"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TableRow
android:layout_width="match_parent"
android:layout_height="59dp">
<TextView
android:id="@+id/textView"
android:layout_width="143dp"
android:layout_height="match_parent"
android:text="用戶名:"
android:textSize="25sp" />
<EditText
android:id="@+id/editText"
android:layout_width="145dp"
android:layout_height="match_parent"
android:ems="10"
android:gravity="start|top"
android:inputType="textMultiLine" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="59dp">
<TextView
android:id="@+id/textView2"
android:layout_width="143dp"
android:layout_height="match_parent"
android:text="密碼:"
android:textSize="25sp" />
<EditText
android:id="@+id/editText2"
android:layout_width="118dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="number" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="59dp">
<TextView
android:id="@+id/textView3"
android:layout_width="143dp"
android:layout_height="49dp"
android:text="確認密碼:"
android:textSize="25sp" />
<EditText
android:id="@+id/editText3"
android:layout_width="120dp"
android:layout_height="match_parent"
android:ems="10"
android:inputType="number" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="59dp">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="59dp"
android:text="E-mail地址:"
android:textSize="25sp" />
<EditText
android:id="@+id/editText4"
android:layout_width="103dp"
android:layout_height="match_parent"
android:ems="10"
android:gravity="start|top"
android:inputType="textMultiLine" />
</TableRow>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="121dp"
android:layout_height="283dp"
android:layout_marginStart="2dp"
android:layout_marginLeft="2dp"
android:layout_marginTop="100dp"
android:layout_marginBottom="363dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/linearLayout2"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="170dp"
app:srcCompat="@drawable/icon" />
<Button
android:id="@+id/bn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="選擇頭像"
android:textSize="20sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
avtivity_second.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10px"
android:horizontalSpacing="3px"
android:verticalSpacing="3px"
android:numColumns="4"/>
</LinearLayout> |