[ 코드에 들어가기 전에 ]

  • 코드에서 중요하게 생각하는 부분과, 새로 공부하는 부분만 발췌해서 부연 설명
  • 코드 전체를 첨부하기에는 비슷한 부분의 반복이고, 읽기도 힘들고, 길어지니 링크 참조
  • https://miny-genie.tistory.com/55
~~~~~~~~~~~~~~~~~~~~ ( 생략 ) ~~~~~~~~~~~~~~~~~~~~

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
~~~~~~~~~~~~~~~~~~~~ ( 생략 ) ~~~~~~~~~~~~~~~~~~~~

        registerForContextMenu(btnBackground);
        registerForContextMenu(btnButton);
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        if (v == btnBackground) {
            menu.add(0, 1, 0, "빨강!");
            menu.add(0, 2, 0, "파랑!!");
            menu.add(0, 3, 0, "검정!!!");
            menu.add(0, 4, 0, "하양...");
        }
        else {
            SubMenu subMenu = menu.addSubMenu("버튼 변경");
            subMenu.add(0, 5, 0, "버튼을 돌리거라");
            subMenu.add(0, 6, 0, "버튼을 바꾸거라");
        }
    }

    @Override
    public boolean onContextItemSelected(@NonNull MenuItem item) {
        // return super.onOptionsItemSelected(item);
        switch (item.getItemId()) {
            case 1:
                baseLayout.setBackgroundColor(Color.RED);
                return true;
                
~~~~~~~~~~~~~~~~~~~~ ( 생략 ) ~~~~~~~~~~~~~~~~~~~~

            case 5:
                if (rotateCheckNum == 0) {
                    btnBackground.setRotation(180);
                    btnButton.setRotation(180);
                    rotateCheckNum = 1;
                }
                else {
                    btnBackground.setRotation(0);
                    btnButton.setRotation(0);
                    rotateCheckNum = 0;
                }
                return true;

            case 6:
                if (sizeCheckNum == 0) {
                    btnBackground.setScaleX(2);
                    btnBackground.setScaleY(2);
                    btnButton.setScaleX(2);
                    btnButton.setScaleY(2);
                    sizeCheckNum = 1;
                }
                else {
                    btnBackground.setScaleX(1);
                    btnBackground.setScaleY(1);
                    btnButton.setScaleX(1);
                    btnButton.setScaleY(1);
                    sizeCheckNum = 0;
                    
~~~~~~~~~~~~~~~~~~~~ ( 생략 ) ~~~~~~~~~~~~~~~~~~~~

 

registerForContextMenu(btnBackground);
registerForContextMenu(btnButton);

 

 


public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)

 

 

 

menu.add(0, 1, 0, "빨강!");

 



SubMenu subMenu = menu.addSubMenu("버튼 변경");
subMenu.add(0, 5, 0, "버튼을 돌리거라");

 

 

 

public boolean onContextItemSelected(@NonNull MenuItem item) {

switch (item.getItemId()) { case }

 

 

btnBackground.setRotation();

btnButton.setRotation();

 

 

 

btnBackground.setScaleX(), btnBackground.setScaleY();

btnButton.setScaleX(), btnButton.setScaleY();

 

 

 

직접 풀어보기 7-2 실행 결과

+ Recent posts