메뉴 라디오버튼
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 | 
 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
		
		
		
		
		
		
		
	
댓글