Domain badges & info sheet & my fanciest animation yet

This commit is contained in:
Grishka
2024-02-13 07:31:42 +03:00
parent efb8cd565b
commit 8dffbff97c
12 changed files with 670 additions and 71 deletions

View File

@@ -61,7 +61,7 @@
android:layout_below="@id/cover"
android:layout_alignParentStart="true"
android:layout_marginStart="12dp"
android:layout_marginTop="-44dp"
android:layout_marginTop="-36dp"
android:background="@drawable/profile_ava_bg"
android:outlineProvider="@null">
@@ -76,64 +76,63 @@
</FrameLayout>
<FrameLayout
android:id="@+id/profile_action_btn_wrap"
android:layout_width="wrap_content"
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/cover"
android:layout_alignParentEnd="true"
android:layout_marginTop="16dp"
android:layout_marginHorizontal="16dp"
android:paddingStart="120dp">
android:layout_toEndOf="@id/avatar_border"
android:layout_marginTop="14dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="16dp"
android:fontFamily="sans-serif"
android:textAlignment="viewStart"
android:textAppearance="@style/m3_title_large"
android:textColor="?colorM3OnSurface"
android:maxLines="2"
android:ellipsize="end"
tools:text="Eugen" />
<org.joinmastodon.android.ui.views.ProgressBarButton
android:id="@+id/profile_action_btn"
android:layout_width="wrap_content"
android:layout_height="40dp"
style="@style/Widget.Mastodon.M3.Button.Filled"
android:minWidth="156dp"
android:paddingHorizontal="16dp"
tools:text="@string/save_changes" />
<org.joinmastodon.android.ui.views.WrappingLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_toEndOf="@id/avatar_border"
android:layout_marginStart="12dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="2dp"
android:horizontalGap="4dp"
android:verticalGap="0dp">
<ProgressBar
android:id="@+id/action_progress"
style="?android:progressBarStyleSmall"
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:elevation="10dp"
android:indeterminate="true"
android:outlineProvider="none"
android:visibility="gone" />
</FrameLayout>
android:layout_height="20dp"
android:textAppearance="@style/m3_body_medium"
android:textColor="?colorM3OnSurfaceVariant"
android:singleLine="true"
android:ellipsize="end"
android:gravity="center_vertical"
tools:text="Gargron" />
<TextView
android:id="@+id/username_domain"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:textAppearance="@style/m3_label_small"
android:gravity="center_vertical"
android:paddingHorizontal="4dp"
android:textColor="?colorM3OnSurfaceVariant"
android:singleLine="true"
android:ellipsize="end"
android:background="@drawable/rect_4dp"
android:backgroundTint="?colorM3SurfaceVariant"
tools:text="mastodon.social"/>
</org.joinmastodon.android.ui.views.WrappingLinearLayout>
</RelativeLayout>
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="12dp"
android:layout_marginRight="16dp"
android:fontFamily="sans-serif"
android:textAlignment="viewStart"
android:textAppearance="@style/m3_title_large"
android:textColor="?colorM3OnSurface"
tools:text="Eugen" />
<TextView
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="2dp"
android:layout_marginRight="16dp"
android:textAppearance="@style/m3_title_small"
android:textColor="?colorM3OnSurfaceVariant"
tools:text="\@Gargron" />
<org.joinmastodon.android.ui.views.LinkedTextView
android:id="@+id/bio"
android:layout_width="match_parent"
@@ -192,18 +191,11 @@
tools:text="followers" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="28dp"
android:gravity="center"
android:text="·"
android:textAppearance="@style/m3_label_large"
android:textColor="?colorM3OnSurfaceVariant" />
<LinearLayout
android:id="@+id/following_btn"
android:layout_width="wrap_content"
android:layout_height="28dp"
android:layout_marginStart="-4dp"
android:background="@drawable/bg_button_borderless_rounded"
android:gravity="center_horizontal"
android:orientation="horizontal"
@@ -289,6 +281,41 @@
android:padding="16dp"
tools:text="Founder, CEO and lead developer @Mastodon, Germany." />
</org.joinmastodon.android.ui.views.FloatingHintEditTextLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="8dp">
<FrameLayout
android:id="@+id/profile_action_btn_wrap"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<org.joinmastodon.android.ui.views.ProgressBarButton
android:id="@+id/profile_action_btn"
android:layout_width="match_parent"
android:layout_height="40dp"
style="@style/Widget.Mastodon.M3.Button.Filled"
android:minWidth="156dp"
android:paddingHorizontal="16dp"
tools:text="@string/save_changes" />
<ProgressBar
android:id="@+id/action_progress"
style="?android:progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:elevation="10dp"
android:indeterminate="true"
android:outlineProvider="none"
android:visibility="gone" />
</FrameLayout>
</LinearLayout>
<org.joinmastodon.android.ui.tabs.TabLayout
android:id="@+id/tabbar"

View File

@@ -0,0 +1,178 @@
<?xml version="1.0" encoding="utf-8"?>
<org.joinmastodon.android.ui.views.CustomScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg_bottom_sheet"
android:outlineProvider="background"
android:elevation="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:id="@+id/sheet_handle"
android:layout_width="match_parent"
android:layout_height="36dp"
android:background="@drawable/bg_bottom_sheet_handle"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:orientation="horizontal"
android:gravity="center_vertical">
<ImageView
android:id="@+id/icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginEnd="16dp"
android:background="@drawable/white_circle"
android:backgroundTint="?colorM3SecondaryContainer"
android:scaleType="center"
android:tint="?colorM3OnSecondaryContainer"
android:src="@drawable/ic_badge_24px"
android:importantForAccessibility="no"/>
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/m3_title_large"
android:fontFamily="sans-serif"
android:textColor="?colorM3OnSurface"
android:text="@string/handle_help_title"/>
</LinearLayout>
<LinearLayout
android:id="@+id/handle_wrap"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:layout_marginHorizontal="16dp"
android:orientation="vertical"
android:background="@drawable/bg_handle_help"
android:clipChildren="false"
android:clipToPadding="false"
android:padding="12dp">
<TextView
android:id="@+id/handle_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/m3_label_small"
android:textColor="?colorM3OnSurfaceVariant"
android:alpha="0.6"
tools:text="@string/handle_title"/>
<org.joinmastodon.android.ui.views.RippleAnimationTextView
android:id="@+id/handle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textAppearance="@style/m3_body_large"
android:textColor="?colorM3OnSurface"
tools:text="\@Gargron@mastodon.social"/>
</LinearLayout>
<RelativeLayout
android:id="@+id/username_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:layout_marginBottom="16dp">
<ImageView
android:id="@+id/icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginEnd="16dp"
android:importantForAccessibility="no"
android:scaleType="center"
android:tint="?colorM3Primary"
android:src="@drawable/ic_alternate_email_24px"/>
<TextView
android:id="@+id/username_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/icon"
android:textAppearance="@style/m3_title_medium"
android:textColor="?colorM3OnSurface"
android:text="@string/username"/>
<TextView
android:id="@+id/username_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/icon"
android:layout_below="@id/username_title"
android:textAppearance="@style/m3_body_small"
android:textColor="?colorM3OnSurfaceVariant"
tools:text="@string/handle_username_explanation"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/server_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:layout_marginBottom="16dp">
<ImageView
android:id="@+id/icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginEnd="16dp"
android:importantForAccessibility="no"
android:scaleType="center"
android:tint="?colorM3Primary"
android:src="@drawable/ic_public_24px"/>
<TextView
android:id="@+id/server_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/icon"
android:textAppearance="@style/m3_title_medium"
android:textColor="?colorM3OnSurface"
android:text="@string/server"/>
<TextView
android:id="@+id/server_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/icon"
android:layout_below="@id/server_title"
android:textAppearance="@style/m3_body_small"
android:textColor="?colorM3OnSurfaceVariant"
tools:text="@string/handle_server_explanation"/>
</RelativeLayout>
<org.joinmastodon.android.ui.views.LinkedTextView
android:id="@+id/handle_explanation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="16dp"
android:textAppearance="@style/m3_body_medium"
android:textColor="?colorM3OnSurfaceVariant"
tools:text="@string/handle_explanation"/>
<Button
android:id="@+id/btn_cancel"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginBottom="8dp"
android:layout_marginHorizontal="16dp"
style="@style/Widget.Mastodon.M3.Button.Filled"
android:text="@string/got_it"/>
</LinearLayout>
</org.joinmastodon.android.ui.views.CustomScrollView>