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