전체 글

코드만 봐도 다 알 수 있다.
기본 뷰페이저 코드는 액티비티를 보여줄 xml, 이미지뷰를 보여줄 xml을 기본적으로 만들어야 한다. 위는 이미 안다고 가정하고 설명하면 1. 뷰페이저 아이템의 마진값을 조정한 후 2. 들어갈 아이템 리스트를 만들고, 3. 뷰페이저에 아래 속성과 값을 추가하면 된다. val dpValue = 54; val d = resources().getDisplayMetorics().density val margin = (dpValue * d).toInt() viewPager.clipToPadding(false); viewPager.setPadding(margin, 0, margin, 0); (viewPager.layoutParams as ViewGroup.MarginLayoutParams).setMargins(ma..
나의 경우에는 MyApp 클래스를 만들고 Application()을 상속시켜 전역 변수를 저장하는 클래스를 만들고, 여기에 applicationContext를 저장해서 전역에서 context를 편하게 쓰려고 만들었으나 위와 같은 에러가 떳다. static, companion object와 같은 정적 변수를 초기화 할 때 나타나는 에러로 이해하고 있다. class MyApp : Application() { companion object { var user: User? = null // 기존 코드 // val applicationContext: Context = MyApp().applicationContext val applicationContext: Context get() = MyApp().applica..
· App/개발
안드로이드 앱을 개발하다 보면 각 분기에 따라서 팝업을 띄워줘야 할 때가 있다. 간단하게 코드로 보자 fun onClickActivitySelectedPhoto(view: View) { val photoDialog = AlertDialog.Builder(this) val items = arrayOf("카메라", "앨범") photoDialog.setTitle("사진을 추가할 방법을 선택해주세요") photoDialog.setItems(items, DialogInterface.OnClickListener { dialog, which -> when (items[which]) { "카메라" -> { startActivityForResult( ImagePicker.cameraOnly().getIntent(thi..
· App/개발
override fun onOptionsItemSelected(item: MenuItem): Boolean { return super.onOptionsItemSelected(item) } 아이템 선택 시 아이템을 이용한 옵션 설정(메인 액티비티나 프래그먼트) override fun onCreateOptionsMenu(menu: Menu?): Boolean { menuInflater.inflate(R.menu.menu_share, menu) return super.onCreateOptionsMenu(menu) } 옵션 메뉴 생성(메인 액티비티나 프래그먼트) private fun setOnClickPopUpMenu(view: View, context: Context, review: Review) { val ..
· App/개발
val intent: Intent = Intent(Intent.ACTION_SEND) intent.type = "text/plain" intent.putExtra(Intent.EXTRA_TEXT, "${"공유할 url 넣기"}reviews/${review.id}") startActivity(Intent.createChooser(intent, "내 리뷰 공유하기")) 안드로이드 공유 기능에는 각 sns에서 제공해주는 sdk를 이용하거나 공유 기능을 담고 있는 ACTION_SEND INTENT로 이동해야 한다. 후자가 구현하기 훨씬 편하고 사용하기도 간편하므로 후자의 기능을 추천한다. 공유할 url 넣기에 게시글의 url을 넣으시면 된다. 팝업 메뉴 같은곳에서 활용하기 좋은듯 싶다.
· App/개발
코틀린 코드 import com.google.android.material.bottomnavigation.BottomNavigationView import android.content.Context import android.util.AttributeSet import androidx.core.content.ContextCompat import android.graphics.* class CustomBottomNavigationView : BottomNavigationView { private var mPath: Path = Path() private var mPaint: Paint = Paint() private val CURVE_CIRCLE_RADIUS = 190 / 2 private val mFir..
Say simple
코드로 말해요