본문 바로가기
728x90

전체 글128

[Android] 소프트 키보드(키패드) 열기 inputMethodManager.showSoftInput(EditText,InputMethodManager.SHOW_IMPLICIT); 'EditText'에는 포커스를 원하는 텍스트박스 입력 2019. 9. 29.
[Android] 소리 재생 소리 파일은 res - raw 폴더에 넣어둔다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mSoundPool = new SoundPool.Builder() .setMaxStreams(10) .build(); } else { mSoundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 1); } mSoundId = mSoundPool.load(this, R.raw.somesound, 1); // ... mSoundPool.play(mSoundId, 1, 1, 1, 0, 1); 2019. 9. 29.
[Android] GIF 파일 사용할수 있게 만들어주는 git https://github.com/koral--/android-gif-drawable koral--/android-gif-drawable Views and Drawable for displaying animated GIFs on Android - koral--/android-gif-drawable github.com 참고 2019. 9. 29.
[Android] assets 폴더의 이미지 사용법 Drawable.createFromStream(getAssets().open("pictemp/ic_launcher.png"),null) 위와 같은 방법으로 Drawable 클래스를 리턴받을 수 있음 (pictemp : assets 폴더의 하위 폴더, ic_launcher.png : 샘플 이미지) 2019. 9. 29.
[Android] 핸드폰 갤러리 열고, 선택한 사진 받아오기 Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); intent.setType("image/gallery"); intent.setAction(Intent.ACTION_PICK); startActivityForResult(intent,REQUEST_PICKER); 위 방법으로 갤러리를 열 수 있고(REQUEST_PICKER는 상수값) @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { //super.onActivityResult(requestCode, re.. 2019. 9. 29.
[Android] 소프트 키보드(키패드) 닫기 InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 2019. 9. 29.
[Android] ValueAnimator의 Listener ValueAnimator도 리스너가 있어서 애니메이션이 시작, 끝, 반복 등의 이벤트가 발생할 때 내가 원하는 코드를 발동시킬 수 있다. 리스너의 생김새는 아래와 같다. ValueAnimator anim=~~; anim.setListener(new Animator.AnimatorListener(){ //* ~~ onAnimationStart,~End,~Cancel,~Repeat 등 오버라이드 }); 2019. 9. 29.
[Android] AlertDialog의 사이즈 변경 AlertDialog dialog=builder.create(); 로 dialog생성 후, dialog.show(); 이후에 LayoutParams params=dialog.getWindow().getAttributes(); params.width=~; params.height=~; dialog.getWindow().setAttributes(params); 로 변경하길 원하는 사이즈를 전달해주면 된다. 2019. 9. 29.
[Android] Vibrator를 사용하여 진동 울리기 AndroidManifest에 아래처럼 permission을 추가한다. onCreate에서 아래처럼 vibrator를 생성한 후 Vibrator vibe=(Vibrator)getSystemService(VIBRATOR_SERVICE); 진동이 울리길 원하는 지점에서 vibe.vibrate(~); 위 코드를 추가하면 된다. 2019. 9. 29.
[Android] AsyncTask 여러개를 동시에 병렬적으로 실행하는 방법. AsyncTask는 직렬적이므로 한번에 한개씩만 가동된다. 하지만, async.execute(); 대신 async.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); 를 쓰면 여러개의 AsyncTask가 동시에 실행된다(마치 여러개의 Thread를 돌리는것처럼). 2019. 9. 29.
[Android] Intent 전환 효과 주기 뷰 보이기 효과를 없애려면 onCreate에 미리 getWindow().setWindowAnimation(0); 이라고 하면 됨. 뷰 전환 애니메이션을 만들기 위해 아래와 같이 fade in 예시를 만들어보면, res 폴더에 anim 폴더 생성 후 ex) fade_in.xml 파일 생성 으로 fade_in.xml 완성 Intent intent=new Intent(~,~); startActivity(intent); overridePendingTransition(android.R.anim.fade_in,~); intent 전환시 이렇게 만들어놓은 fade_in.xml 파일을 적용시켜준다. 2019. 9. 29.
[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.
728x90