Redesign no party screen

This commit is contained in:
Phillip Thelen 2018-11-08 15:20:59 +01:00
parent cf389a2a93
commit f00ae57b34
4 changed files with 79 additions and 7 deletions

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient
android:angle="90"
android:centerColor="@color/transparent"
android:endColor="@color/white"
android:startColor="@color/white"
android:type="linear"
android:centerX="0.6"/>
<corners
android:radius="0dp"/>
</shape>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View file

@ -2,7 +2,8 @@
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/refreshLayout">
android:id="@+id/refreshLayout"
android:background="@color/white">
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -60,6 +61,26 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="158dp"
android:layout_marginBottom="@dimen/spacing_medium">
<ImageView
android:id="@+id/no_party_background"
android:layout_width="match_parent"
android:layout_height="124dp"
android:layout_alignParentTop="true"/>
<View
android:layout_width="match_parent"
android:layout_height="124dp"
android:background="@drawable/no_party_background_gradient"/>
<ImageView
android:layout_width="332dp"
android:layout_height="146dp"
android:layout_marginTop="12dp"
android:layout_centerHorizontal="true"
android:src="@drawable/no_party_banner"/>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -68,21 +89,28 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Title1"
style="@style/Headline"
android:textSize="16sp"
android:textColor="@color/gray_200"
android:text="@string/no_party_title"
android:gravity="center"/>
android:gravity="center"
android:layout_marginBottom="@dimen/spacing_medium"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Body1"
android:text="@string/no_party_description"
android:textColor="@color/gray_300"
android:gravity="center"/>
android:gravity="center"
android:layout_marginLeft="@dimen/spacing_large"
android:layout_marginRight="@dimen/spacing_large"/>
<Button
android:id="@+id/craetePartyButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/HabiticaButton.Gray.600"
android:background="@drawable/layout_rounded_bg_gray_700"
android:textSize="16sp"
android:text="@string/create_party_website"
android:layout_marginTop="@dimen/spacing_large"/>
</LinearLayout>
@ -98,9 +126,11 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Title2"
style="@style/Headline"
android:textSize="16sp"
android:text="@string/join_party_title"
android:gravity="center"/>
android:gravity="center"
android:layout_marginBottom="@dimen/spacing_medium"/>
<TextView
android:id="@+id/join_party_description_textview"
android:layout_width="match_parent"
@ -108,7 +138,9 @@
style="@style/Body1"
android:text="@string/join_party_description"
android:textColor="@color/gray_300"
android:gravity="center"/>
android:gravity="center"
android:layout_marginLeft="@dimen/spacing_large"
android:layout_marginRight="@dimen/spacing_large"/>
<Button
android:id="@+id/username_textview"
@ -116,7 +148,9 @@
android:layout_height="wrap_content"
android:textColor="@color/brand_400"
style="@style/HabiticaButton.Gray.600"
android:background="@drawable/layout_rounded_bg_gray_700"
android:gravity="center"
android:textSize="16sp"
android:layout_marginTop="@dimen/spacing_large"
android:layout_marginBottom="@dimen/spacing_large"/>

View file

@ -4,6 +4,9 @@ import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.Shader
import android.graphics.drawable.BitmapDrawable
import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
@ -14,6 +17,8 @@ import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.SocialRepository
import com.habitrpg.android.habitica.data.UserRepository
import com.habitrpg.android.habitica.extensions.backgroundCompat
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.invitations.PartyInvite
import com.habitrpg.android.habitica.models.members.Member
@ -21,8 +26,11 @@ import com.habitrpg.android.habitica.models.social.Group
import com.habitrpg.android.habitica.models.user.User
import com.habitrpg.android.habitica.ui.activities.MainActivity
import com.habitrpg.android.habitica.ui.fragments.BaseFragment
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils
import com.habitrpg.android.habitica.ui.helpers.MarkdownParser
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
import kotlinx.android.synthetic.main.fragment_group_info.*
import javax.inject.Inject
@ -96,6 +104,21 @@ class GroupInformationFragment : BaseFragment() {
val browserIntent = Intent(Intent.ACTION_VIEW, "https://habitica.com/party".toUri())
startActivity(browserIntent)
}
context.notNull { context ->
DataBindingUtils.loadImage("timeTravelersShop_background_fall") {
val aspectRatio = it.width / it.height.toFloat()
val height = context.resources.getDimension(R.dimen.shop_height).toInt()
val width = Math.round(height * aspectRatio)
val drawable = BitmapDrawable(context.resources, Bitmap.createScaledBitmap(it, width, height, false))
drawable.tileModeX = Shader.TileMode.REPEAT
Observable.just(drawable)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(Consumer {
no_party_background.backgroundCompat = it
}, RxErrorHandler.handleEmptyError())
}
}
}
private fun refresh() {