본문 바로가기
728x90

프로그래밍/Android(Java)33

[Android] 외부 폰트 적용 방법 assets/fonts 폴더를 생성한 후 폰트를 추가한 후, 아래 코드를 통해 폰트를 적용시킨다. TextView text=(TextView)findViewById(R.id.text); Typeface type=Typeface.createFromAsset(getAssets(),"fonts/fontfile.ttf"); text.setTypeface(type); 2019. 9. 29.
[Android] Intent flag를 이용하여 인텐트의 동작 방식 지정 Intent intent=new Intent(this.c.class); intent.addFlags(Intent.~~); startActivity(intent); Intent.FLAG_ACTIVITY_CLEAR_TOP : 최상단 액티비티를 제외한 모든 액티비티 제거 후 실행 Intent.FLAG_ACTIVITY_NO_ANIMATION : 액티비티 전환시 애니메이션 사용하지 않게 함 -> 혹은 onCreate에 getWindow().setWindowAnimations(0); 이라 작성하면 onCreate시 애니메이션 없이 생성 2019. 9. 29.
[Android] 타이틀바, 알림바 제거하여 꽉찬 화면 구현하는 법 1. 타이틀바 제거 requestWindowFeature(Window.FEATURE_NO_TITLE); 2. 전체화면모드, 알림바 제거 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); ****** 액티비티의 setContentView() 이전에 호출해야 함!!! 2019. 9. 29.
[Android] 가속도계 센서 구현 가속도계 센서 구현 SensorEventListener listener=new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } } SensorManager manager=(SensorManager)getSystemService(SENSOR_SERVICE); Sensor sensor=manager.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0); boolean success=manager.registerListener(listener,se.. 2019. 9. 29.
[Android] 코드로 만든 뷰에 ID지정 values 폴더에 ids.xml 파일 생성 이렇게 id등록 후, codedView.setID(R.id.idone); 이렇게 id등록 가능 2019. 9. 29.
[Android] ObjectAnimator를 이용한 애니메이션 ObjectAnimator anim=ObjectAnimator.ofFloat(View,"~",0,180,~~); //* View : 상태를 바꿀 View를 입력. "~" : 위 View의 메서드 중, View.set~ 가 있는것만 됨 anim.setDuration(1000); anim.start(); //* ex) TextView.setRotationX 존재. 따라서, .ofFloat(textView,"rotationX",0,180); 이란 코드 작성 가능 2019. 9. 29.
[Android] 화면해상도 구하는 방법 (DPI) 기기별로 해상도가 다르기 때문에, 화면 비율과 같이 크기가 변하는 View를 만들기 위해선 layout_weight를 써야한다. 하지만 코드에선 이를 쓰기 힘들기 때문에, 기기의DPI를 구한 후 그 값을 이용해 크기 조절을 한다. //* 방법 1 Display dis=((WindowManager)getSystemService(Window_Service)).getDefaultDisplay(); DisplayMetrics metrix=new DisplayMetrics(); dis.getMetrics(metrix); //* 방법 2 DisplayMetrics metrix=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrix); 2019. 9. 29.
[Android] ValueAnimator로 애니메이션 제작 int값의 변화로 애니메이션 효과 만듬 ValueAnimator anim=ValueAnimator.onInt(0,100); //* 0,100 은 경로를 나타냄. int... 이므로 여러 int값 전달 가능 anim.setDuration(1000); anim.setInterpolator(new LinearInterpolator()); anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){ public void onAnimationUpdate(ValueAnimator animation){ int i=(int)animation.getAnimatedValue(); } }); anim.start(); 2019. 9. 29.
[Android] 버튼이 눌리는 효과 만들기 Button.setOnTouchListener(new OnTouchListener(){ public boolean onTouch(View v, MotionEvent event){ if(event.getAction()==MotionEvent.ACTION_DOWN){ v.setPadding(10,10,10,10); v.setAlpha(0.55f); }else if(event.getAction()==MotionEvent.ACTION_UP){ V.setPadding(0,0,0,0); v.setAlpha(1.0f); //* 여기에 버튼 기능 넣으면 됨 } } }); 2019. 9. 29.
[Android] 상단바(Status bar) 색 변경하기 API 21 이상부터 적용 가능 Window window =getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); if(Build.VERSION.SDK_INT>Build.VERSION_CODES.LOLLIPOP) window.setStatusBarColor(ContextCompat.getColor(this, R.color.colorAccent)); 위 방식으로 Java 코드에서 색 변경이 가능하고, styles.xml(v.21) 파일 내부에 android:statusBar.. 2019. 9. 29.
[Android] Java 코드에서 dp,sp 사용법 LinearLayout.LayoutParams params=new LinearLayout.LayoutParams((int)getResources().getDimension(R.dimen.x),(int)getResources().getDimension(R.dimen,y)); /*괄호 내부는 코드로 dp,sp등을 받아오기 위한 것*/ params.setMargin(0,0,0,0); view.setLayoutParams(params); //위 두 줄짜리 코드로 margin 설정가능 2019. 9. 29.
[Android] 커스텀 다이얼로그 AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this); LayoutInflater inflater=getLayoutInflater(); View view=inflater.inflate(R.layout./*주소*/, null); builder.setView(view); /*negative, positive, message, title등 설정 후*/ builder.create().show(); 2019. 9. 29.
[Android] 커스텀뷰 디자인을 XML로 하는법(레이아웃) 커스텀뷰 클래스의 constructor에서 LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.Layout_Inflater_Service); View view=inflater.inflate(R.layout./*주소*/,this); 이렇게 하면 자동으로 인식 2019. 9. 29.
[Android] 간단한 커스텀 Notification Notification 생성까지는 동일 RemoteViews view=new RemoteViews(MainActivity.this.getPackageName(),R.layout./*띄울 레이아웃 주소*/); view.setImageViewResource(/*이미지 주소*/); view.setTextViewText(/*text*/); Notification noti=new Notification.Builder(getApplicationCOntext).setContent(view).build(); manager.notify(1,noti); 2019. 9. 29.
[Android] Notification 상태바, 커스텀 NotificationManager NM= getSystemService(Context.Notification_Service); Notification.Builder builder=new Notification.Builder(MainActivity.this); builder.setSmallIcon(/*icon(R)*/); builder.setTicker(/*text*/); builder.setWhen(/*timing*/); Notification noti=builder.build(); NM.notify(1,noti); 2019. 9. 29.
728x90