마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

버튼을눌렀을때 화면의 색상을 바꾸고싶은데 어떻게하면되나요?

0 추천

책보면서 배우는중입니다.

책에있는 예제는 버튼을누르면 TOAST를 사용 버튼이 눌러졌습니다를 표시하는데

여기에서 저는 버튼을 누르면 화면전체 색깔을 바꾸고싶은데 어떻게하면될까요?

예를들어서 버튼을누르면 무조건 화면 전체가 빨강으로 변하게 하고싶은데 어떻게할까요?

거기에 추가로  만약에 제가 RED의 색상값을 0~255 사이를 조절하고싶으면 어떻게해야될까요?

 

지금은 버튼을누르면 text에 바탕화면이 빨강으로 변하게 해논 소스입니다.

 

package com.example.buttonevent4;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	TextView text;


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		text = (TextView) findViewById(R.id.textview01);
	 }

	public void myClickListener(View target)
	
	{
		Toast.makeText(getApplicationContext(), "버튼이 눌러졌습니다", Toast.LENGTH_SHORT).show();
		text.setBackgroundColor(Color.RED);
		
	}
	
	
	@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);
		return true;
	}

}

 

익명사용자 님이 2013년 10월 25일 질문

1개의 답변

0 추천
 
채택된 답변

TextView를 받아오셨듯이(파란색) TextView를 감싸고 있는 Layout(빨간색)을 받아오셔서 지정하시면 될것 같습니다.

<RelativeLayout

   id="@+id/rl_background"

   ...>

   <TextView

      id="@+id/textview01"

      ... />

</RelativeLayout>

Gioskhan (12,060 포인트) 님이 2013년 10월 25일 답변
명령어를 찾기가 너무어렵네요
배경화면을 바꿀때
public class MainActivity extends Activity {
 
    TextView text;  <--------------- 이거
  .
text = (TextView) findViewById(R.id.textview01); <--------이런거

text.setBackgroundColor(Color.RED);<-----------------이런거는

어떻게 설정을 바꿔주어야 될까요?
xml가셔서 layout에 id값 주시고 java로 넘어와서 TextView text대신 LinearLayout(혹은 Relative)로 선언 하시고
text = (TextView) 대신 (LinearLayout)findviewById..하시면 됩니다
답글 감사합니다. 말씀대로 하니깐 되네요.
만약에 여기서 버튼을이용해서 빨강색값을 0~255 사이로 증가 혹은 감소시키려하는데
이럴려면 어느부분을 공부해야도움이될까요?
음.. 검색을 하실 때 배경 색상을 변경하고 싶으셨다면
android change background color 정도로 검색하시면 원하는 답을 쉽게 얻으실 수 있으셨을 거에요. 답만 알아가시기보단 답을 찾는 방법을 알아가시는게 후에 더 좋을듯 싶어서 말씀드린거구요

0~255 라는 값을 알고 계신 걸로 보아 색상 값의 범위나 기초지식은 갖고 있으신 것으로 보이니
setBackgroundColor(Color.argb(255, 255, 255, 255));
위의 메서드를 응용해서 쓰시면 될것 같습니다.

그리고 아마도 이걸 적용하시고 나면 main ui handler 등에 대해서도 자연스레 보시게 될것 같은데요. 한글 검색하시면 정리 잘된데 많으니 ui handler 부분은 꼭 자세히 보세요~
네 감사합니다. 안드로이드 책한권을 사서 처음 예제를보면서 하고있는중입니다. 예제대로 타이핑해서 실행시키는것은 어렵지않으나...
조금만 응용하려고하면 탁 탁 막히고 있습니다.
혹시 추천할만한 책이나 블로그 있으신가요 ^^
...