안드로이드 옵션메뉴를 통해 화면 색깔 바꾸기

프로그래밍|2014.01.11 06:00
안드로이드 옵션메뉴를 통해 화면 색깔 바꾸기




안드로이드로 직접 개발을 할 수 있다는 것이 그저 먼 나라 이웃나라이야기 같지만 사실 직접 부딪혀보면 앱을 직접 개발을 할 수 있다는 자부심을 가질 수 있습니다. 누구나 배울 수 만 있다면 끝까지 꾸준히 포기하지 않고 원하는 앱을 만드실 수가 있습니다.

저는 간단 간단한 기능만 아주 소소한 앱을 만들어서 여기 블로그에다가 공개를 할려고 합니다. 누구나 쉽게 접하실 수 있게 말이죠.


옵션메뉴를 통해 배경화면을 빨간색, 파란색, 초록색으로 바꾸는 방법에 대해 알아보아요. 크게 어렵지도 않고 간단하게 되어 있습니다. 주로 옵션메뉴라고 하면 다양한 앱들을 보면 공통점이 있습니다. 하나 같이 옵션메뉴가 있다는 것입니다. 주로 설정이나 부수한 서브메뉴들을 옵션메뉴를 통해 이루어집니다. 소스를 공개도 하겠습니다.

프로젝트 명 : OptionTest

java source

MainActivity.java

package com.example.optiontest;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
 RelativeLayout linear;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        linear = (RelativeLayout)findViewById(R.id.linear);
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        menu.add(0, 1, 0, "초록색");
        menu.add(0, 2, 0, "빨강색");
        menu.add(0, 3, 0, "파란색");
        menu.add(0, 4, 0, "원래대로");
        return true;
    }
   
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
     // TODO Auto-generated method stub
     switch(item.getItemId()) {
     case 1 :
      Toast.makeText(this, "초록색", Toast.LENGTH_LONG).show();
      linear.setBackgroundColor(Color.GREEN);
      break;
     case 2:
      Toast.makeText(this, "빨강색", Toast.LENGTH_LONG).show();
      linear.setBackgroundColor(Color.RED);
      break;
     case 3:
      Toast.makeText(this, "파란색", Toast.LENGTH_LONG).show();
      linear.setBackgroundColor(Color.BLUE);
      break;
     case 4:
      Toast.makeText(this, "원래대로", Toast.LENGTH_LONG).show();
      linear.setBackgroundColor(Color.WHITE);
      break;
     }
     return super.onOptionsItemSelected(item);
    }
}

xml source

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/linear"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    tools:context=".MainActivity" >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="배경화면 색 주기" />
</RelativeLayout>

위의 java source 및 xml source 입니다. 한번 직접 이클립스 개발툴에 코딩을 하시면 이해가 되실 것입니다. 복잡하지 않기에 소소하게 아주 간단하게 만든 것입니다.


설명은 정말 간단하게 해드리겠습니다. 혹여 어려분 부분이 있더라도 직접 소스를 입력을 해보고 동작을 해보시면 어떻게 돌아가는지 대충을 알 것입니다. 처음엔 거의 저도 멘땅에 헤딩을 하다 싶이 한 건데, 이제는 어느 정도 익숙해지네요.



java source에서 onCreateOptionsMenu이 부분이 옵션메뉴에 각 각의 메뉴를 나타내는 부분입니다. 예를 들면 빨간색, 파란색, 초록색, 원래대로라는 메뉴가 보여지게 됩니다.

onOptionsItemSelected 이 부분은 옵션메뉴에서 빨간색을 선택을 했을 때 이벤트를 나타내는 부분입니다. 이벤트를 나타내는 부분에는 switch문을 주어서 각각의 순서에 맞게 번호를 지정해 주고 배경색이 바뀌게 하였습니다.

그냥 소스를 보기만 한다면 아쉽게도 여러분 것이 되지 않습니다. 허나 직접 소스를 치는 분은 자기 것으로 만들 수 있는 기회가 될 수 있습니다. 누구나 잘하기를 원하지만 때로는 쉽지 않습니다. 한 번 해보시는게 어느 정도 궁금증이 풀릴거에요.


댓글()
  1. Favicon of https://system123.tistory.com BlogIcon 예또보 2014.01.11 09:50 신고 댓글주소  수정/삭제  댓글쓰기

    이런게 있었네요 ㅎ
    잘보고갑니다

  2. Favicon of http://life-lineup.tistory.com BlogIcon +요롱이+ 2014.01.11 10:03 신고 댓글주소  수정/삭제  댓글쓰기

    안드로이드 바탕 바꾸기에 대해서 너무잘 보구 갑니다^^

  3. Favicon of https://0063.tistory.com BlogIcon 카르페디엠^^* 2014.01.11 10:37 신고 댓글주소  수정/삭제  댓글쓰기

    요렇게 쉽게 바꿀 수도 있네요.ㅎ

  4. Favicon of https://moimoihair.tistory.com BlogIcon MINi99 2014.01.11 11:00 신고 댓글주소  수정/삭제  댓글쓰기

    이런방법으로 바탕화면색을 바꾸는군요^^ 잘보고 갑니다~

  5. Favicon of https://nimpopoyes.tistory.com BlogIcon 톡톡 정보 2014.01.11 11:45 신고 댓글주소  수정/삭제  댓글쓰기

    화면 색상 바꾸는 좋은 정보 잘 보고 갑니다.
    즐거운 하루 보내세요^^

  6. Favicon of http://aduyt.tistory.com BlogIcon 어듀이트 2014.01.11 11:48 신고 댓글주소  수정/삭제  댓글쓰기

    덕분에 좋은 정보 잘 얻어갑니다`
    행복한 하루 되세요~

  7. Favicon of http://stockm.tistory.com BlogIcon S매니저 2014.01.11 13:38 신고 댓글주소  수정/삭제  댓글쓰기

    좋은 정보 잘 얻어갑니다~
    행복한 하루 되세요~

  8. Favicon of https://hansik07.tistory.com BlogIcon Hansik's Drink 2014.01.11 14:32 신고 댓글주소  수정/삭제  댓글쓰기

    잘 알아 간답니다 ^^
    즐거운 주말이 되세요 ㅎㅎ

  9. Favicon of https://gdlsg.tistory.com BlogIcon 도생 2014.01.11 21:34 신고 댓글주소  수정/삭제  댓글쓰기

    자신만의 스마트폰 색을 원하시는 분들에게 좋은 정보네요.
    휴일 잘 보내세요^_^

  10. Favicon of https://hush-now.tistory.com BlogIcon 쭈니러스 2014.01.11 22:39 신고 댓글주소  수정/삭제  댓글쓰기

    이건 또 신세계네요ㅎㅎㅎ 잘 알아 갑니다~

  11. Favicon of https://0063.tistory.com BlogIcon 카르페디엠^^* 2014.01.12 00:30 신고 댓글주소  수정/삭제  댓글쓰기

    좋은 정보 정말 감사해요^^

  12. Favicon of https://whiteswing.tistory.com BlogIcon 하얀그네 2014.01.12 05:27 신고 댓글주소  수정/삭제  댓글쓰기

    색깔하나 바꾸는데도 이리 어려운코드가 들어갔는군요.
    새삼 놀랬습니다 ^^