receive screen: fonts added and functional

This commit is contained in:
Kevin Gorham 2018-12-04 14:38:12 -05:00
parent 08a1aef304
commit 7b16819a26
10 changed files with 218 additions and 197 deletions

View File

@ -35,6 +35,7 @@ dependencies {
// Android
implementation deps.androidx.appcompat
implementation deps.androidx.constraintLayout
implementation deps.androidx.core
implementation deps.androidx.coreKtx
implementation deps.androidx.navigation.fragment
implementation deps.androidx.navigation.fragmentKtx

View File

@ -1,28 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="cash.z.android.wallet">
xmlns:dist="http://schemas.android.com/apk/distribution"
package="cash.z.android.wallet">
<dist:module dist:instant="true"/>
<dist:module dist:instant="true" />
<application
android:name=".ZcashWalletApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name=".ZcashWalletApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/ZcashTheme">
<activity
android:name=".ui.activity.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
android:name=".ui.activity.MainActivity"
android:label="@string/app_name"
android:theme="@style/ZcashTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -10,13 +10,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:theme="@style/ZcashTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="180dp"
app:popupTheme="@style/AppTheme.PopupOverlay" />
app:popupTheme="@style/ZcashTheme.PopupOverlay" />
</com.google.android.material.appbar.AppBarLayout>

View File

@ -1,191 +1,192 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<ScrollView 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:id="@+id/layout_receive_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/fragment_receive_background"
tools:context=".ui.fragment.ReceiveFragment">
android:layout_height="match_parent">
<include
android:id="@+id/include_toolbar"
layout="@layout/include_app_bar"
tools:ignore="MissingConstraints" />
<!-- Shield Background -->
<ImageView
android:id="@+id/image_shield"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:src="@drawable/shield"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.491"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/include_toolbar"
app:layout_constraintVertical_bias="0.062"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="0.84988" />
<!-- QR code placeholder -->
<ImageView
android:id="@+id/receive_qr_code"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/zcashWhite"
android:scaleType="centerInside"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/include_toolbar"
app:layout_constraintVertical_bias="0.172"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="0.58111" />
<View
android:id="@+id/receive_address_background"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="56dp"
android:background="@color/zcashBlack_12"
app:layout_constraintStart_toStartOf="@id/image_shield"
app:layout_constraintEnd_toEndOf="@id/image_shield"
app:layout_constraintTop_toTopOf="@id/receive_title"
app:layout_constraintBottom_toBottomOf="parent" />
<TextView
android:id="@+id/receive_title"
style="@style/TextAppearance.Zcash.Headline6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:background="@color/receive_title_background"
android:gravity="center"
android:padding="16dp"
android:text="@string/receive_address_title"
android:textColor="@color/zcashWhite"
app:layout_constraintEnd_toEndOf="@+id/image_shield"
app:layout_constraintStart_toStartOf="@+id/image_shield"
app:layout_constraintTop_toBottomOf="@+id/receive_qr_code" />
<!-- Address parts -->
<!-- Someday, there will be an advanced VirtualLayout that helps us do this without nesting but for now, this seems to be the only clean way to center all the fields -->
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:id="@+id/layout_receive_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/receive_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<!-- connect the first and second, separately in order to establish a center -->
<TextView
android:id="@+id/text_address_part_1"
style="@style/TextAppearance.Zcash.Body1"
android:layout_width="wrap_content"
android:background="@color/fragment_receive_background"
tools:context=".ui.fragment.ReceiveFragment">
<include
android:id="@+id/include_toolbar"
layout="@layout/include_app_bar"
tools:ignore="MissingConstraints" />
<!-- Shield Background -->
<ImageView
android:id="@+id/image_shield"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=" ztestsaplin"
android:textColor="@color/zcashWhite"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_3"
android:scaleType="centerInside"
android:src="@drawable/shield"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.491"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_chainStyle="packed"/>
app:layout_constraintTop_toBottomOf="@id/include_toolbar"
app:layout_constraintVertical_bias="0.062"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="0.84988" />
<TextView
android:id="@+id/text_address_part_3"
style="@style/TextAppearance.Zcash.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/zcashWhite"
android:text=" jceuu9s2p6t"
app:layout_constraintTop_toBottomOf="@id/text_address_part_1"
app:layout_constraintStart_toStartOf="@id/text_address_part_1"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_5"/>
<TextView
android:id="@+id/text_address_part_5"
style="@style/TextAppearance.Zcash.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/zcashWhite"
android:text=" 7u7uarqls7d"
app:layout_constraintTop_toBottomOf="@id/text_address_part_3"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_7"
app:layout_constraintStart_toStartOf="@id/text_address_part_1"/>
<TextView
android:id="@+id/text_address_part_7"
style="@style/TextAppearance.Zcash.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/zcashWhite"
android:text=" rzq85xggu56"
app:layout_constraintTop_toBottomOf="@id/text_address_part_5"
<!-- QR code placeholder -->
<ImageView
android:id="@+id/receive_qr_code"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/zcashWhite"
android:scaleType="centerInside"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/text_address_part_1"/>
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/include_toolbar"
app:layout_constraintVertical_bias="0.172"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="0.58111" />
<View
android:id="@+id/receive_address_background"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/zcashBlack_12"
app:layout_constraintBottom_toBottomOf="@id/receive_address_parts"
app:layout_constraintEnd_toEndOf="@id/image_shield"
app:layout_constraintStart_toStartOf="@id/image_shield"
app:layout_constraintTop_toTopOf="@id/receive_title" />
<TextView
android:id="@+id/text_address_part_2"
style="@style/TextAppearance.Zcash.Body1"
android:layout_width="wrap_content"
android:id="@+id/receive_title"
style="@style/Zcash.TextAppearance.Headline6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:text=" g1mwjzlg62"
android:layout_marginTop="24dp"
android:background="@color/receive_title_background"
android:gravity="center"
android:padding="16dp"
android:text="@string/receive_address_title"
android:textColor="@color/zcashWhite"
app:layout_constraintStart_toEndOf="@id/barrier_left_address_column"
app:layout_constraintTop_toTopOf="@id/text_address_part_1"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_4"/>
app:layout_constraintEnd_toEndOf="@+id/image_shield"
app:layout_constraintStart_toStartOf="@+id/image_shield"
app:layout_constraintTop_toBottomOf="@+id/receive_qr_code" />
<TextView
android:id="@+id/text_address_part_4"
style="@style/TextAppearance.Zcash.Body1"
<!-- Address parts -->
<!-- Someday, there will be an advanced VirtualLayout that helps us do this without nesting but for now, this seems to be the only clean way to center all the fields -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/receive_address_parts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/zcashWhite"
android:text=" wns6qxwec6v"
app:layout_constraintTop_toBottomOf="@id/text_address_part_2"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_6"
app:layout_constraintStart_toStartOf="@id/text_address_part_2"/>
android:foregroundGravity="center"
android:padding="16dp"
app:layout_constraintEnd_toEndOf="@id/receive_title"
app:layout_constraintStart_toStartOf="@id/receive_title"
app:layout_constraintTop_toBottomOf="@id/receive_title">
<TextView
android:id="@+id/text_address_part_1"
style="@style/Zcash.TextAppearance.AddressPart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" ztestsaplin"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_3"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/text_address_part_6"
style="@style/TextAppearance.Zcash.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/zcashWhite"
android:text=" gtg3tpgqxjd"
app:layout_constraintTop_toBottomOf="@id/text_address_part_4"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_8"
app:layout_constraintStart_toStartOf="@id/text_address_part_2"/>
<TextView
android:id="@+id/text_address_part_3"
style="@style/Zcash.TextAppearance.AddressPart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text=" jceuu9s2p6t"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_5"
app:layout_constraintStart_toStartOf="@id/text_address_part_1"
app:layout_constraintTop_toBottomOf="@id/text_address_part_1" />
<TextView
android:id="@+id/text_address_part_8"
style="@style/TextAppearance.Zcash.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/zcashWhite"
android:text=" k904xderng6"
app:layout_constraintTop_toBottomOf="@id/text_address_part_6"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/text_address_part_2"/>
<TextView
android:id="@+id/text_address_part_5"
style="@style/Zcash.TextAppearance.AddressPart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text=" 7u7uarqls7d"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_7"
app:layout_constraintStart_toStartOf="@id/text_address_part_1"
app:layout_constraintTop_toBottomOf="@id/text_address_part_3" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier_left_address_column"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="150dp"
android:layout_marginRight="150dp"
android:layout_marginLeft="150dp"
app:barrierDirection="end"
app:constraint_referenced_ids="text_address_part_1,text_address_part_3,text_address_part_5,text_address_part_7" />
<TextView
android:id="@+id/text_address_part_7"
style="@style/Zcash.TextAppearance.AddressPart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text=" rzq85xggu56"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/text_address_part_1"
app:layout_constraintTop_toBottomOf="@id/text_address_part_5" />
<TextView
android:id="@+id/text_address_part_2"
style="@style/Zcash.TextAppearance.AddressPart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:text=" g1mwjzlg62j"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_4"
app:layout_constraintStart_toEndOf="@id/barrier_left_address_column"
app:layout_constraintTop_toTopOf="@id/text_address_part_1" />
<TextView
android:id="@+id/text_address_part_4"
style="@style/Zcash.TextAppearance.AddressPart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text=" wns6qxwec6v"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_6"
app:layout_constraintStart_toStartOf="@id/text_address_part_2"
app:layout_constraintTop_toBottomOf="@id/text_address_part_2" />
<TextView
android:id="@+id/text_address_part_6"
style="@style/Zcash.TextAppearance.AddressPart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text=" gtg3tpgqxjd"
app:layout_constraintBottom_toTopOf="@+id/text_address_part_8"
app:layout_constraintStart_toStartOf="@id/text_address_part_2"
app:layout_constraintTop_toBottomOf="@id/text_address_part_4" />
<TextView
android:id="@+id/text_address_part_8"
style="@style/Zcash.TextAppearance.AddressPart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text=" k904xderng6"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/text_address_part_2"
app:layout_constraintTop_toBottomOf="@id/text_address_part_6" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier_left_address_column"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="150dp"
android:layout_marginRight="150dp"
android:padding="150dp"
app:barrierDirection="end"
app:constraint_referenced_ids="text_address_part_1,text_address_part_3,text_address_part_5,text_address_part_7" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View File

@ -5,7 +5,7 @@
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
android:theme="@style/ZcashTheme.AppBarOverlay"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:showIn="@layout/fragment_send">
@ -14,6 +14,6 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay" />
app:popupTheme="@style/ZcashTheme.PopupOverlay" />
</com.google.android.material.appbar.AppBarLayout>

View File

@ -1,5 +1,5 @@
<resources>
<style name="AppTheme.NoActionBar">
<style name="ZcashTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>

View File

@ -23,6 +23,7 @@
<color name="zcashWhite">#FFFFFF</color>
<color name="zcashBlack_light">#2B2B2B</color>
<color name="zcashBlack_12">#1F000000</color>
<color name="zcashBlack_87">#DD000000</color>
<!-- -->
@ -39,6 +40,10 @@
<color name="fab_closed_color">@color/colorPrimary</color>
<color name="fab_open_color">@color/colorPrimaryDark</color>
<!-- text -->
<color name="text_light">@color/zcashWhite</color>
<color name="text_dark">@color/zcashBlack_87</color>
<!-- backgrounds -->
<color name="fragment_receive_background">@color/zcashBlack_light</color>
<color name="fragment_request_background">@color/colorPrimary</color>

View File

@ -1,27 +1,39 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<style name="ZcashTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<style name="ZcashTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay"
parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="AppTheme.PopupOverlay"
parent="ThemeOverlay.AppCompat.Light"/>
<style name="ZcashTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="ZcashTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<!-- -->
<!-- Text Appearances -->
<style name="TextAppearance.Zcash.Headline6" parent="TextAppearance.MaterialComponents.Headline6">
<!-- -->
<style name="Zcash.TextAppearance.Body1" parent="TextAppearance.MaterialComponents.Body1" />
<style name="Zcash.TextAppearance.Headline6" parent="TextAppearance.MaterialComponents.Headline6">
<item name="fontFamily">sans-serif</item>
<item name="android:fontFamily">sans-serif</item>
</style>
<style name="TextAppearance.Zcash.Body1" parent="TextAppearance.MaterialComponents.Body1"/>
<style name="Zcash.TextAppearance.AddressPart" parent="TextAppearance.AppCompat">
<item name="android:fontFamily">@font/inconsolata</item>
<item name="fontFamily">@font/inconsolata</item>
<item name="android:textSize">22sp</item>
<item name="android:textColor">@color/text_light</item>
</style>
</resources>

View File

@ -13,6 +13,7 @@ buildscript {
'androidx': [
'appcompat': 'androidx.appcompat:appcompat:1.0.0',
'constraintLayout': 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2',
'core': 'androidx.core:core:1.0.0',
'coreKtx': 'androidx.core:core-ktx:1.0.0',
'navigation': [
'fragment': "android.arch.navigation:navigation-fragment:${versions.navigation}",