티스토리 뷰
반응형
이미 진행중인 프로젝트에 바로 코드를 추가 하기엔 위험부담이 커서
새로운 프로젝트에 우선 만들어 본 후, 제대로 작동 할 경우 원 프로젝트에 적용해보는 방식으로 진행했다
의외로 간단하게 완성됐는데 내 플젝으로 옮기는 과정에서 같은 코드인데 작동을 안하는 문제가 있어서 하루종일 머리 싸맸으나..
원인을 찾은김에 기록용으로 작성하는 포스팅
MainActivity.xml
DrawerLayout > Content(나는 [scrollView > Constraint] + [Constraint]로 짬) + LinearLayout(햄버거 UI 들어갈 부분)
이렇게 짜줘야하는데 가장 중요한건 꼭! 무조건! 콘텐츠가 위에 있어야한다
햄버거 부분을 가장 하단에 짜줘야 안드 상에서는 위에 올린게 되어서 제대로 작동한다.... 이게 오류의 원인이었음 ㅠㅠ
콘텐츠 부분 상단에 들어갈 툴바 코드
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="0dp"
android:layout_height="94dp"
android:minHeight="?android:attr/actionBarSize"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout_conversion_absoluteHeight="56dp"
tools:layout_conversion_absoluteWidth="411dp" />
햄버거부분 xml 코드 (UI는 아직..)
<LinearLayout
android:id="@+id/hamburger"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity='start'
android:background="@android:color/white"
android:orientation="vertical">
<TextView
android:id="@+id/alarm_hamburger_startpage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="update"
android:padding="20dp"
android:text="알림확인"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/wishlist_hamburger_startpage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="update"
android:padding="20dp"
android:text="위시리스트"
android:textColor="@android:color/black" />
String.xml
resources 안에 추가
<resources>
<string name="open">open</string>
<string name="close">close</string>
MainActivity.kt
클래스 바로 안에 토글 설정해주고
class MainActivity : AppCompatActivity() {
private var mDrawerToggle : ActionBarDrawerToggle? = null
onCreate 안에 두 줄 써준 후
그 다음부터는 OnClickListener로 각 텍스트뷰마다 클릭시 원하는 액션을 설정해주면 된다
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_mainpage)
mDrawerToggle = ActionBarDrawerToggle(this, drawer_layout, toolbar, R.string.open, R.string.close)
mDrawerToggle!!.syncState()
alarm_hamburger_startpage.setOnClickListener {
// set action here
/* 얘는 햄버거가 다시 들어가는(닫히는) 코드라 꼭 필요한건 아님 */
drawer_layout!!.closeDrawer(GravityCompat.START)
}
참고한 영상
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬 최대공약수
- 안드로이드 카카오톡으로 로그인
- Kotlin
- 프로그래머스
- 코틀린 뷰페이저
- 코틀린 리스트뷰
- 카카오 키해시
- 백준
- 시뮬레이터 키보드
- 소수 구하기 파이썬
- 안드로이드 키해시
- 백준알고리즘
- 코틀린
- 백준 2003
- 백준 1806
- 전화번호목록 파이썬
- TextFormField keyboard
- 투포인터 알고리즘 파이썬
- 카카오 기출
- 투포인터 알고리즘
- 백준 1644
- 안드로이드
- 코틀린 바텀네비게이션
- 코틀린 뷰바인딩
- 데이터바인딩 뷰바인딩 차이
- flutter simultor
- kotlin fragment
- 코틀린 데이터바인딩
- counting sort
- 카카오톡으로 로그인 오류
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함