forked from GitHub-Mirror/riotX-android
Create ButtonStateView with some custom attributes
This commit is contained in:
@ -55,56 +55,23 @@
|
||||
android:textColor="#7E899C"
|
||||
android:textSize="15sp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/itemPublicRoomBottomSeparator"
|
||||
app:layout_constraintEnd_toStartOf="@id/itemPublicRoomJoin"
|
||||
app:layout_constraintEnd_toStartOf="@id/itemPublicRoomButtonState"
|
||||
app:layout_constraintStart_toEndOf="@id/itemPublicRoomName"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="148" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/itemPublicRoomJoin"
|
||||
style="@style/VectorButtonStyleFlat"
|
||||
<im.vector.riotredesign.core.platform.ButtonStateView
|
||||
android:id="@+id/itemPublicRoomButtonState"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:text="@string/join"
|
||||
app:bsv_button_text="@string/join"
|
||||
app:bsv_loaded_image_src="@drawable/ic_tick"
|
||||
app:layout_constraintBottom_toTopOf="@+id/itemPublicRoomBottomSeparator"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/itemPublicRoomJoined"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_tick"
|
||||
app:layout_constraintBottom_toTopOf="@+id/itemPublicRoomBottomSeparator"
|
||||
app:layout_constraintEnd_toEndOf="@+id/itemPublicRoomJoin"
|
||||
app:layout_constraintStart_toStartOf="@+id/itemPublicRoomJoin"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/itemPublicRoomJoining"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="24dp"
|
||||
android:scaleType="center"
|
||||
app:layout_constraintBottom_toTopOf="@+id/itemPublicRoomBottomSeparator"
|
||||
app:layout_constraintEnd_toEndOf="@+id/itemPublicRoomJoin"
|
||||
app:layout_constraintStart_toStartOf="@+id/itemPublicRoomJoin"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/itemPublicRoomRetry"
|
||||
style="@style/VectorButtonStyleFlat"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:text="@string/global_retry"
|
||||
android:textColor="@color/vector_warning_color"
|
||||
app:layout_constraintBottom_toTopOf="@+id/itemPublicRoomBottomSeparator"
|
||||
app:layout_constraintEnd_toEndOf="@+id/itemPublicRoomJoin"
|
||||
app:layout_constraintStart_toStartOf="@+id/itemPublicRoomJoin"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/itemPublicRoomBottomSeparator"
|
||||
android:layout_width="0dp"
|
||||
|
45
vector/src/main/res/layout/view_button_state.xml
Normal file
45
vector/src/main/res/layout/view_button_state.xml
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:parentTag="android.widget.FrameLayout">
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonStateButton"
|
||||
style="@style/VectorButtonStyleFlat"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/itemPublicRoomBottomSeparator"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="@string/join" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/buttonStateLoading"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="center" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/buttonStateLoaded"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
tools:src="@drawable/ic_tick" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonStateRetry"
|
||||
style="@style/VectorButtonStyleFlat"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="@string/global_retry"
|
||||
android:textColor="@color/vector_warning_color" />
|
||||
|
||||
</merge>
|
12
vector/src/main/res/values/attrs_state_button.xml
Normal file
12
vector/src/main/res/values/attrs_state_button.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<declare-styleable name="ButtonStateView">
|
||||
|
||||
<attr name="bsv_loaded_image_src" format="reference" />
|
||||
<attr name="bsv_button_text" format="reference|string" />
|
||||
|
||||
</declare-styleable>
|
||||
|
||||
|
||||
</resources>
|
Reference in New Issue
Block a user