본문 바로가기

플밍 is 뭔들/안드로이드_인강

04. 커스텀 뷰

※ 커스텀 뷰?
레이아웃 뷰 그룹을 이용하지 않고 View클래스를  상속 받아 직접 뷰를 만들어 사용하는 것

사진출처 : 서울위즈 앱 창업자를 위한 안드로이드 실무 동영상

커스텀뷰 예제 소스
public class MainActivity extends ActionBarActivity {
       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              //setContentView(R.layout.activity_main);
              
                        //커스텀뷰를 객체로 만들어 setContentView에 넣어준다
              CustomView cv = new CustomView(MainActivity.this);
              
              setContentView(cv);
       }
       @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;
       }
       @Override
       public boolean onOptionsItemSelected(MenuItem item) {
              // Handle action bar item clicks here. The action bar will
              // automatically handle clicks on the Home/Up button, so long
              // as you specify a parent activity in AndroidManifest.xml.
              int id = item.getItemId();
              if (id == R.id.action_settings) {
                     return true;
              }
              return super.onOptionsItemSelected(item);
       }
}


public class CustomView extends View {
       public CustomView(Context context) {
              super(context);
              // TODO Auto-generated constructor stub
       }
       
       @Override
       protected void onDraw(Canvas canvas) {
              // TODO Auto-generated method stub
              //super.onDraw(canvas);
              
              //배경색 넣기
              canvas.drawColor(Color.GREEN);
              
              //원 그러넣기
              Paint paint = new Paint();
              paint.setColor(Color.BLUE);
              canvas.drawCircle(100, 100, 50, paint);
              
              paint.setColor(Color.RED);
              canvas.drawCircle(200, 200, 70, paint);
              
              //이미지 넣기
              Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
              canvas.drawBitmap(bitmap, 500, 500, null);
                           
       }
}


'플밍 is 뭔들 > 안드로이드_인강' 카테고리의 다른 글

05-2. 어댑터 뷰  (0) 2016.11.27
05-1. 어댑터 뷰  (0) 2016.11.27
03-2. 레이아웃  (0) 2016.11.27
03-1. 레이아웃  (0) 2016.11.27
02. 안드로이드 프로젝트  (0) 2016.11.27