Material Components(CardView/Flexbox Layout/TextinputLayout/Chips)(임시 검색 리더 화면)
하고 싶은 일
소설 검색 화면의 디자인
필요조건
소설 검색 화면의 설치
소설 검색 화면
TextInputLayout / TextInputEditText
EditText
가 아니라TextInputLayout
및TextInputEditText
로 이루어진다.TextInputLayout
본문(Input text) 외에 레이블(Label text), 보조 텍스트(Helper text) 등의 소재를 디자인할 부품(상세내용 참조Material I/OSearchFragment.xml
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/text_input_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:helperText="空白で区切って複数のキーワードを指定できます"
app:helperTextEnabled="true"
android:hint="検索ワード"
app:hintEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editText_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout>
android:hint
측은 수여TextInputEditText
측이지만 안드로이드 8(Oreo)의 고장으로 발생NullPointerException
하여 TextInputLayout
측으로 이동android:hint
한다.CardView
<androidx.cardview.widget.CardView>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_search">
<TextView android:text="検索ワードを指定する" /> <!-- タイトル -->
<net.cachapa.expandablelayout.ExpandableLayout
android:id="@+id/expandable_layout_search_subtitle"
app:el_expanded="true"> <!-- サブタイトル 領域: デフォルト表示あり -->
<TextView android:id="@+id/expand_search_subtitle"/> <!-- サブタイトル -->
</net.cachapa.expandablelayout.ExpandableLayout>
<ImageView app:srcCompat="@drawable/expand_arrow"/> <!-- 伸び縮みアイコン -->
<net.cachapa.expandablelayout.ExpandableLayout
android:id="@+id/expandable_layout_contents"
app:el_expanded="false"> <!-- コンテンツ領域: デフォルト表示なし -->
<!-- 表示対象コンテンツをここに設定 -->
</net.cachapa.expandablelayout.ExpandableLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
SearchFragment.java
@BindView(R.id.expandable_layout_search_subtitle) ExpandableLayout layoutSearchSubtitle;
@BindView(R.id.expandable_layout_contents) ExpandableLayout layoutSearchContents;
@OnClick(R.id.layout_expand_search)
void onClickSearchArea(View view) {
layoutSearchSubtitle.toggle(true);
layoutSearchContents.toggle(true);
}
만들어진 물건
키워드 선택 대화 상자
Chip
chip_sample.xml
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"/>
FlexboxLayout
build.gradle
dependencies {
implementation 'com.google.android:flexbox:1.1.0'
}
만들어진 물건
RecommendKeywords.xml
<com.google.android.flexbox.FlexboxLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:flexWrap="wrap"
app:justifyContent="space_around">
<com.google.android.material.chip.Chip
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/check_keyword_gag"
android:text="ギャグ" />
<!-- 以下チップが並列で並ぶ -->
</com.google.android.flexbox.FlexboxLayout>
이렇게 된 기분이야.FlexboxLayout
에서 "flexWrap="wrap","justifyContent="space around"를 설정하여 한 줄에 국한되지 않으면 다른 줄로 나누어 줄 안의 공간을 평균적으로 분배한다.총결산
Reference
이 문제에 관하여(Material Components(CardView/Flexbox Layout/TextinputLayout/Chips)(임시 검색 리더 화면)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nomunomu5678/items/8554eba222c6b324e009텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)