- activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/baseLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="오른쪽 위 메뉴를 클릭하세요"
android:textSize="20dp"
android:layout_gravity="center"/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textSize="20dp"
android:text="이건 버튼"/>
</LinearLayout>
- menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/itemRed"
android:title="배경색(빨강)"/>
<item
android:id="@+id/itemGreen"
android:title="배경색(초록)"/>
<item
android:id="@+id/itemBlue"
android:title="배경색(파랑)"/>
<item
android:title="버튼 변경>> ">
<menu>
<item
android:id="@+id/subRotate"
android:title="버튼 45도 회전"/>
<item
android:id="@+id/subSize"
android:title="버튼 2배 확대"/>
</menu>
</item>
</menu>
- MainActivity.java
package com.example.exam7_1;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
//변수선언
LinearLayout baseLayout;
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("배경색 바꾸기 - 양다연(23/5/18)");
baseLayout = (LinearLayout) findViewById(R.id.baseLayout);
button1 = (Button) findViewById(R.id.button1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
//메뉴파일 코드 삽입
MenuInflater mInflater = getMenuInflater();
mInflater.inflate(R.menu.menu1,menu);
return true;
}
//메뉴 선택시 동작할 내용을 코딩
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()) {
case R.id.itemRed:
baseLayout.setBackgroundColor(Color.RED);
return true;
case R.id.itemGreen:
baseLayout.setBackgroundColor(Color.GREEN);
return true;
case R.id.itemBlue:
baseLayout.setBackgroundColor(Color.BLUE);
return true;
case R.id.subRotate:
button1.setRotation(45);
return true;
case R.id.subSize:
button1.setScaleX(2);
return true;
}
return false;
}
}
- 실행 화면
0123
그냥 따라 쓰기만 한 코드지만 menu사용을 첨 해봐서 우선 기록...
'언어 > [Java]' 카테고리의 다른 글
[Java] Stack, 백준10773, 2775 (2) | 2023.07.19 |
---|---|
[Java] 자바 자료형 - 문자열(String), StringBuffer, 배열(Array), 리스트(List), 맵(Map), 집합(Set), Enum (0) | 2023.07.19 |
[Java] 백준 2675, 1431(작성 중), hasNext() (0) | 2023.05.18 |
[Java] 백준 2562, 5597 / 확장for문(:), nosuchelement, indexOf (0) | 2023.04.12 |
[Java] charAt(), nextLong() (0) | 2023.04.04 |