[연습문제]
4
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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/baseLayout"
tools:context=".MainActivity">
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_gravity="center"
android:src="@drawable/dog"/>
</LinearLayout>
Java
더보기
package com.cookandroid.a7_4;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
LinearLayout baseLayout;
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("연습문제 7-4");
baseLayout = (LinearLayout) findViewById(R.id.baseLayout);
iv = (ImageView) findViewById(R.id.iv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// menu1.xml 이용시
// MenuInflater mInflater = getMenuInflater();
// mInflater.inflate(R.menu.menu1, menu);
// Java로 메뉴 구현
menu.add(0,1,0, "강아지");
menu.add(0,2,0,"고양이");
menu.add(0,3,0,"토끼");
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case 1:
iv.setImageResource(R.drawable.dog);
return true;
case 2:
iv.setImageResource(R.drawable.cat);
return true;
case 3:
iv.setImageResource(R.drawable.rabbit);
return true;
}
return false;
}
}
5
activitiy_main.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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context=".MainActivity">
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="토스트 보이기"/>
</LinearLayout>
toast1.xml
더보기
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/cat"/>
</LinearLayout>
Java
더보기
package com.cookandroid.a7_5;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button btn;
View toastView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("연습문제 7-5");
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = new Toast(MainActivity.this);
toastView = (View) View.inflate(MainActivity.this, R.layout.toast1, null);
toast.setView(toastView);
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int xOffset = (int) (Math.random()*display.getWidth());
int yOffset = (int) (Math.random()*display.getHeight());
toast.setGravity(Gravity.TOP|Gravity.LEFT, xOffset, yOffset);
toast.show();
}
});
}
}
6
activitiy_main.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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rg">
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="강아지"
android:id="@+id/rbD">
</RadioButton>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="고양이"
android:id="@+id/rbC">
</RadioButton>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="토끼"
android:id="@+id/rbR">
</RadioButton>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="말"
android:id="@+id/rbH">
</RadioButton>
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="그림보기"
android:id="@+id/btn"/>
</LinearLayout>
dialog1.xml
더보기
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/dlgImg"
android:layout_gravity="center"/>
</LinearLayout>
Java
더보기
package com.cookandroid.a7_6;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button btn;
RadioGroup rg;
RadioButton rbD, rbC, rbR, rbH;
View dialogView;
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("연습문제 7-6");
btn = (Button) findViewById(R.id.btn);
rg = (RadioGroup) findViewById(R.id.rg);
rbD = (RadioButton) findViewById(R.id.rbD);
rbC = (RadioButton) findViewById(R.id.rbC);
rbR = (RadioButton) findViewById(R.id.rbR);
rbH = (RadioButton) findViewById(R.id.rbH);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogView = (View) View.inflate(MainActivity.this, R.layout.dialog1, null);
AlertDialog.Builder dlg = new AlertDialog.Builder(MainActivity.this);
img = (ImageView) dialogView.findViewById(R.id.dlgImg); // findViewById 앞에 dialogView 꼬오옥 쓰기...
dlg.setView(dialogView);
switch(rg.getCheckedRadioButtonId()){
case R.id.rbD:
dlg.setTitle("강아지");
img.setImageResource(R.drawable.dog);
break;
case R.id.rbC:
dlg.setTitle("고양이");
img.setImageResource(R.drawable.cat);
break;
case R.id.rbR:
dlg.setTitle("토끼");
img.setImageResource(R.drawable.rabbit);
break;
case R.id.rbH:
dlg.setTitle("말");
img.setImageResource(R.drawable.horse);
break;
}
dlg.setNegativeButton("닫기", null);
dlg.show();
}
});
}
}
'DEVELOPMENT' 카테고리의 다른 글
[Android Studio] Chapter 8 연습문제 (0) | 2021.07.02 |
---|---|
[Android Studio] Chapter 8 직접 풀어보기 (0) | 2021.07.02 |
[Android Studio] Chapter 7 직접 풀어보기 (0) | 2021.07.01 |
[Android Studio] Chapter 6 직접 풀어보기 (0) | 2021.06.29 |
[Android Studio] Chapter 5 연습문제 (0) | 2021.06.28 |