2010년/완전정복

3장 레이아웃 4장 캔버스

뽀얀햄스터 2011. 2. 21. 18:03

레이아웃에서  
background

뷰의 배경을 채우는 부분이며

values에서  보통 xml에서  지정하는 부분이 있다.

예를 들면..

android:layout_width="fill_parent"
android:background="#0000ff"; 로 초록색으로 줄수있다. RGB로 인해 '

Padding
뷰와 내용물간의 간격을 지정


캔버스

커스텀 뷰

사실 간단하게 그림을 그리는 경우 VIEW를 통해서 할수있다.
일단 VIEW클래스에서  OnDraw를 통해 그림그리기가 가능하다.



리소스에서의 이미지를 자바에 Bitmap를 불러 들여서 사용할수 있다.
그예로  BitmapFactory이다 여기대한 내용도 역시
http://developer.android.com 에 있다.
사실 아주 유용한것도 많다.
예를 들면.. deconderFile로  값을 비트맵을 통해서 저장도 할수있다. 
인터넷의 사진을 저장할때 사용할수 있다.

Bitmap bit = BitmapFactory.decodeResource(getResources(), R.drawable.eighty8);

텍스트 캔버스 속성보기
텍스트의 값을 여러 속성에 맡게 만들고
마지막에 drawText("문자열",X,Y,속성);
으로 그려진다.



잘출력 되었음


package kr.co.nsakorea.ToastTest;

import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;

public class ToastTest extends Activity {
    Toast mToast = null;
    int count;
    String str;

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.toasttest);
    
    findViewById(R.id.shortmsg).setOnClickListener(mClickListener);
    findViewById(R.id.longmsg).setOnClickListener(mClickListener);
    findViewById(R.id.count1).setOnClickListener(mClickListener);
    findViewById(R.id.count2).setOnClickListener(mClickListener);
    findViewById(R.id.customview).setOnClickListener(mClickListener);
  }

  Button.OnClickListener mClickListener = new Button.OnClickListener() {
    public void onClick(View v) {
      switch (v.getId()) {
      case R.id.shortmsg:
        Toast.makeText(ToastTest.this"잠시 나타나는 메시지"
            Toast.LENGTH_SHORT).show();
        break;
      case R.id.longmsg:
        Toast.makeText(ToastTest.this"조금 길게 나타나는 메시지"
            Toast.LENGTH_LONG).show();
        break;
      case R.id.count1:
        str = "현재 카운트 = " + count++;
        if (mToast != null) {
          mToast.cancel();
        }
        mToast = Toast.makeText(ToastTest.this, str, Toast.LENGTH_SHORT);
        mToast.show();
        break;
      case R.id.count2:
        str = "현재 카운트 = " + count++;
        if (mToast == null) { 
          mToast = Toast.makeText(ToastTest.this, str, Toast.LENGTH_SHORT);
        } else {
          mToast.setText(str);
        }
        mToast.show();
        break;
      case R.id.customview:
            LinearLayout linear = (LinearLayout)View.inflate(ToastTest.this
                R.layout.toast, null);
            Toast t2 = new Toast(ToastTest.this);
            t2.setView(linear);
            t2.show();
            break;
      }
    }
  };
}


Toast 어떻게 보면 중요하다할수 있는것이다.  바로 화면을 띄우주는것이다.

저 버튼을 누르면 바로 밑에 화면을 띄워준다.


사진도 띄울수 있고  이건 정해주는것마다 다르다

Toast는 다음에 다시 정리해보자