스팀 앱 - 개발 중: 사용자 히스토리 항목 클릭 (6) 내용 정리: 프로필/지갑 화면에 계정 검색 뷰 재정의

스팀 앱 - 개발 중: 사용자 히스토리 항목 클릭 (6) 내용 정리: 프로필/지갑 화면에 계정 검색 뷰 재정의

2024. 08. 25 (일) | Written by @dorian-mobileapp

MainActivity 클래스 안에 정의되었던 계정 검색 뷰를 삭제하고, 그 대신 그것을 프로필(ProfileFragment)/지갑(WalletFragment) 화면에 재정의했습니다.

activity_main.xml 파일

검색 뷰를 담당하는 include 요소를 제거했습니다.

<include
    android:id="@+id/include_account_lookup"
    layout="@layout/layout_account_lookup"
    app:viewModel="@{viewModel}" />

fragment_profile.xml 파일

변경 전

아래 요소는 프로필 화면의 내용을 보여주는 최상단 레이아웃입니다.

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    ...

</androidx.constraintlayout.widget.ConstraintLayout>
변경 후

최상단에 LinearLayout을 새로 정의했고, 그 아래에 기존 프로필 레이아웃을 옮겼습니다. 그리고 검색 뷰를 보여주기 위해 그것의 위에 include 요소를 추가하였습니다.

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    android:layout_height="match_parent"
    android:orientation="vertical">

    <include
        android:id="@+id/include_account_lookup"
        layout="@layout/layout_account_lookup" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        ...

    </androidx.constraintlayout.widget.ConstraintLayout>

</LinearLayout>

fragment_wallet.xml 파일

이 파일도 fragment_profile.xml 파일과 동일한 방식으로 수정했습니다.

ProfileFragment 클래스

검색 뷰에서 SEARCH 버튼 클릭을 처리하는 코드를 추가했습니다. 입력한 계정의 길이가 2 이상이면, 프로필을 로딩합니다.

private val buttonAccountSearchClickListener = View.OnClickListener {
    val account = binding.includeAccountLookup.editSteemitAccount.text.toString()
    if (account.length > 2) {
        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.readSteemitProfile(account)
        }
    }
}

WalletFragment 클래스

검색 뷰에서 SEARCH 버튼 클릭을 처리하는 코드를 추가했습니다. 입력한 계정의 길이가 2 이상이면, 지갑을 로딩합니다.

private val buttonAccountSearchClickListener = View.OnClickListener {
    val account = binding.includeAccountLookup.editSteemitAccount.text.toString()
    if (account.length > 2) {
        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.readSteemitWallet(account)
        }
    }
}

Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)
Sort:  

"Wow, great job on updating the app's UI! 😊 I love how you're redefining the account search view in the profile and wallet screens. It looks like a big improvement! 👍 Can't wait to see more updates from your team 🚀. And don't forget to vote for our witness @xpilar.witness by going to https://steemitwallet.com/~witnesses - it would really help us out 😊."

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Thank you, friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
image.png
please click it!
image.png
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)

The weight is reduced because of the lack of Voting Power. If you vote for me as a witness, you can get my little vote.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.

기대할게요..

Coin Marketplace

STEEM 0.15
TRX 0.17
JST 0.028
BTC 68754.67
ETH 2469.20
USDT 1.00
SBD 2.37