메뉴 라디오버튼
1. 메뉴에 라디오버튼 사용하기
1) 그림 첨부
- 3개의 그림을 [res - drawable]에 첨부한다.
2) activity_main.xml 설정
- RelativeLayout을 사용하고 아래에 TextView, EditText, ImageView 위젯을 넣었다.
- id와 text는 위 그림과 같이 세팅하였다.
- 위 그림과 같이 textView1 옆에 나오게 하도록 아래그림과 같이 설정한다.
- layout_toRightOf 속성에 textView1을 적어 textView1의 오른쪽에 edtAngle을 배치한다.
- imageView는 위 그림과 같이 중앙정렬 하기위해 아래 그림과 같이 설정한다.
- layout_centerHorizontal과 layout_centerVertical을 모두 체크해서 ImageView가 중앙에 오도록 한다.
3) menu1.xml 설정
- 그림회전이 가능하도록 [Menu Item]을 하나 넣고 Group를 생성하고 하위에 3개의 [Menu Item]을 생성한다.
- id와 title은 위 그림과 같이 설정한다.
- Group의 checkableBehavior 속성의 값을 [single]로 설정한다.
- 이렇게 할 경우 라디오 버튼 중 그룹 내 라디오 버튼 중 하나만 선택이 가능하다.
- itemHan의 checked 속성을 선택하여 기본값을 정해준다.
4) MainActivity.java 소스
package com.example.d4tai1.pro20181008a_2;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
RelativeLayout relativeLayout;
TextView textView;
EditText editText;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//relativeLayout = (RelativeLayout)findViewById(R.id.relativeLayout1);
//textView = (TextView)findViewById(R.id.textView1);
editText = (EditText)findViewById(R.id.edtAngle);
imageView = (ImageView)findViewById(R.id.imageView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mInflater = getMenuInflater();
mInflater.inflate(R.menu.menu1,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.itemHan:
imageView.setImageResource(R.drawable.jeju1);
//한라산 그림 출력
return true; //정상적으로 실행되었음을 반환
case R.id.itemChu:
imageView.setImageResource(R.drawable.jeju2);
//추자도 그림 출력
return true; //정상적으로 실행되었음을 반환
case R.id.itemBeum:
imageView.setImageResource(R.drawable.jeju3);
//범섬 그림 출력
return true; //정상적으로 실행되었음을 반환
case R.id.itemRotate:
imageView.setRotation(Float.parseFloat(editText.getText().toString()));
// editText는 edtAngle의 값을 가져왔고 그것을 실수형으로 변환해서 그림을 회전한다.
return true;
}
return super.onOptionsItemSelected(item);
}
}
5) 시연
- 한라산에 checked 되어있다.
- 각도 입력 후 그림회전을 누를 시 각도만큼 그림이 회전된다.
- 한라산 추자도 범섬 중 하나를 누르면 해당하는 그림이 출력된다.
'Programming Language > Android Programming' 카테고리의 다른 글
| 메세지 띄우기 (0) | 2018.10.09 |
|---|---|
| 다중메뉴 (0) | 2018.10.09 |
| 메뉴버튼 (0) | 2018.10.09 |
| 계산기, 예약 (0) | 2018.09.18 |
| 레이아웃 (0) | 2018.09.14 |
댓글