migrated user list item to ConstraintLayout
This commit is contained in:
parent
8ccb561612
commit
43a4204536
|
@ -33,6 +33,7 @@ import org.mariotaku.twidere.adapter.iface.IUsersAdapter
|
||||||
import org.mariotaku.twidere.adapter.iface.IUsersAdapter.*
|
import org.mariotaku.twidere.adapter.iface.IUsersAdapter.*
|
||||||
import org.mariotaku.twidere.extension.loadProfileImage
|
import org.mariotaku.twidere.extension.loadProfileImage
|
||||||
import org.mariotaku.twidere.extension.model.hasSameHost
|
import org.mariotaku.twidere.extension.model.hasSameHost
|
||||||
|
import org.mariotaku.twidere.extension.setVisible
|
||||||
import org.mariotaku.twidere.model.ParcelableUser
|
import org.mariotaku.twidere.model.ParcelableUser
|
||||||
import org.mariotaku.twidere.promise.FriendshipPromises
|
import org.mariotaku.twidere.promise.FriendshipPromises
|
||||||
import org.mariotaku.twidere.util.Utils.getUserTypeIconRes
|
import org.mariotaku.twidere.util.Utils.getUserTypeIconRes
|
||||||
|
@ -62,14 +63,11 @@ class UserViewHolder(
|
||||||
private val unblockButton = itemView.unblock
|
private val unblockButton = itemView.unblock
|
||||||
private val unmuteButton = itemView.unmute
|
private val unmuteButton = itemView.unmute
|
||||||
private val followButton = itemView.follow
|
private val followButton = itemView.follow
|
||||||
private val actionsProgressContainer = itemView.actionsProgressContainer
|
|
||||||
private val actionsContainer = itemView.actionsContainer
|
|
||||||
private val processingRequestProgress = itemView.processingRequest
|
private val processingRequestProgress = itemView.processingRequest
|
||||||
private val countsContainer = itemView.countsContainer
|
private val countsContainer = itemView.countsContainer
|
||||||
|
|
||||||
private var userClickListener: UserClickListener? = null
|
private var userClickListener: UserClickListener? = null
|
||||||
private var requestClickListener: RequestClickListener? = null
|
private var requestClickListener: RequestClickListener? = null
|
||||||
|
|
||||||
private var friendshipClickListener: FriendshipClickListener? = null
|
private var friendshipClickListener: FriendshipClickListener? = null
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
@ -79,19 +77,6 @@ class UserViewHolder(
|
||||||
locationView.visibility = View.GONE
|
locationView.visibility = View.GONE
|
||||||
urlView.visibility = View.GONE
|
urlView.visibility = View.GONE
|
||||||
countsContainer.visibility = View.GONE
|
countsContainer.visibility = View.GONE
|
||||||
|
|
||||||
itemView.profileImageContainer.layoutParams.apply {
|
|
||||||
(this as RelativeLayout.LayoutParams).clearVerticalRules()
|
|
||||||
this.addRule(RelativeLayout.CENTER_VERTICAL)
|
|
||||||
}
|
|
||||||
nameView.layoutParams.apply {
|
|
||||||
(this as RelativeLayout.LayoutParams).clearVerticalRules()
|
|
||||||
this.addRule(RelativeLayout.CENTER_VERTICAL)
|
|
||||||
}
|
|
||||||
actionsProgressContainer.layoutParams.apply {
|
|
||||||
(this as RelativeLayout.LayoutParams).clearVerticalRules()
|
|
||||||
this.addRule(RelativeLayout.CENTER_VERTICAL)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,26 +97,27 @@ class UserViewHolder(
|
||||||
nameView.updateText(adapter.bidiFormatter)
|
nameView.updateText(adapter.bidiFormatter)
|
||||||
|
|
||||||
if (adapter.profileImageEnabled) {
|
if (adapter.profileImageEnabled) {
|
||||||
profileImageView.visibility = View.VISIBLE
|
profileImageView.setVisible(true)
|
||||||
adapter.requestManager.loadProfileImage(context, user, adapter.profileImageStyle,
|
adapter.requestManager.loadProfileImage(context, user, adapter.profileImageStyle,
|
||||||
profileImageView.cornerRadius, profileImageView.cornerRadiusRatio,
|
profileImageView.cornerRadius, profileImageView.cornerRadiusRatio,
|
||||||
adapter.profileImageSize).into(profileImageView)
|
adapter.profileImageSize).into(profileImageView)
|
||||||
} else {
|
} else {
|
||||||
profileImageView.visibility = View.GONE
|
profileImageView.setVisible(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
val accountKey = user.account_key
|
val accountKey = user.account_key
|
||||||
|
val showRelationshipButtons: Boolean
|
||||||
if (accountKey != null && FriendshipPromises.isRunning(accountKey, user.key)) {
|
if (accountKey != null && FriendshipPromises.isRunning(accountKey, user.key)) {
|
||||||
processingRequestProgress.visibility = View.VISIBLE
|
processingRequestProgress.setVisible(true)
|
||||||
actionsContainer.visibility = View.GONE
|
showRelationshipButtons = false
|
||||||
} else {
|
} else {
|
||||||
processingRequestProgress.visibility = View.GONE
|
processingRequestProgress.setVisible(false)
|
||||||
actionsContainer.visibility = View.VISIBLE
|
showRelationshipButtons = true
|
||||||
}
|
}
|
||||||
if (accountKey != null && user.key.hasSameHost(accountKey)) {
|
if (accountKey != null && user.key.hasSameHost(accountKey)) {
|
||||||
externalIndicator.visibility = View.GONE
|
externalIndicator.setVisible(false)
|
||||||
} else {
|
} else {
|
||||||
externalIndicator.visibility = View.VISIBLE
|
externalIndicator.setVisible(true)
|
||||||
externalIndicator.text = context.getString(R.string.external_user_host_format, user.key.host)
|
externalIndicator.text = context.getString(R.string.external_user_host_format, user.key.host)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,30 +126,26 @@ class UserViewHolder(
|
||||||
|
|
||||||
val isMySelf = accountKey == user.key
|
val isMySelf = accountKey == user.key
|
||||||
|
|
||||||
if (requestClickListener != null && !isMySelf) {
|
if (showRelationshipButtons && requestClickListener != null && !isMySelf) {
|
||||||
acceptRequestButton.visibility = View.VISIBLE
|
acceptRequestButton.setVisible(true)
|
||||||
denyRequestButton.visibility = View.VISIBLE
|
denyRequestButton.setVisible(true)
|
||||||
} else {
|
} else {
|
||||||
acceptRequestButton.visibility = View.GONE
|
acceptRequestButton.setVisible(false)
|
||||||
denyRequestButton.visibility = View.GONE
|
denyRequestButton.setVisible(false)
|
||||||
}
|
}
|
||||||
if (friendshipClickListener != null && !isMySelf) {
|
if (showRelationshipButtons && friendshipClickListener != null && !isMySelf) {
|
||||||
if (user.extras?.blocking ?: false) {
|
if (user.extras?.blocking == true) {
|
||||||
followButton.visibility = View.GONE
|
followButton.setVisible(false)
|
||||||
unblockButton.visibility = View.VISIBLE
|
unblockButton.setVisible(true)
|
||||||
} else {
|
} else {
|
||||||
if (showFollow) {
|
followButton.setVisible(showFollow)
|
||||||
followButton.visibility = View.VISIBLE
|
unblockButton.setVisible(false)
|
||||||
} else {
|
|
||||||
followButton.visibility = View.GONE
|
|
||||||
}
|
}
|
||||||
unblockButton.visibility = View.GONE
|
unmuteButton.setVisible(user.extras?.muting == true)
|
||||||
}
|
|
||||||
unmuteButton.visibility = if (user.extras?.muting ?: false) View.VISIBLE else View.GONE
|
|
||||||
} else {
|
} else {
|
||||||
followButton.visibility = View.GONE
|
followButton.setVisible(false)
|
||||||
unblockButton.visibility = View.GONE
|
unblockButton.setVisible(false)
|
||||||
unmuteButton.visibility = View.GONE
|
unmuteButton.setVisible(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!simple) {
|
if (!simple) {
|
||||||
|
@ -223,10 +205,10 @@ class UserViewHolder(
|
||||||
this.friendshipClickListener = friendshipClickListener
|
this.friendshipClickListener = friendshipClickListener
|
||||||
if (requestClickListener != null || friendshipClickListener != null) {
|
if (requestClickListener != null || friendshipClickListener != null) {
|
||||||
nameView.twoLine = true
|
nameView.twoLine = true
|
||||||
actionsProgressContainer.visibility = View.VISIBLE
|
processingRequestProgress.visibility = View.VISIBLE
|
||||||
} else {
|
} else {
|
||||||
nameView.twoLine = false
|
nameView.twoLine = false
|
||||||
actionsProgressContainer.visibility = View.GONE
|
processingRequestProgress.visibility = View.GONE
|
||||||
}
|
}
|
||||||
nameView.updateText()
|
nameView.updateText()
|
||||||
acceptRequestButton.setOnClickListener(this)
|
acceptRequestButton.setOnClickListener(this)
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.ColorLabelRelativeLayout
|
<org.mariotaku.twidere.view.ColorLabelConstraintLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
@ -31,20 +31,6 @@
|
||||||
app:ignorePadding="true"
|
app:ignorePadding="true"
|
||||||
tools:context=".adapter.ParcelableUsersAdapter">
|
tools:context=".adapter.ParcelableUsersAdapter">
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/profileImageContainer"
|
|
||||||
android:layout_width="@dimen/icon_size_card_list_item"
|
|
||||||
android:layout_height="@dimen/icon_size_card_list_item"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:layout_alignParentStart="true"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:layout_alignTop="@+id/actionsProgressContainer"
|
|
||||||
android:layout_marginEnd="@dimen/element_spacing_normal"
|
|
||||||
android:layout_marginRight="@dimen/element_spacing_normal"
|
|
||||||
android:clipChildren="false"
|
|
||||||
android:clipToPadding="false"
|
|
||||||
tools:visibility="visible">
|
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.ProfileImageView
|
<org.mariotaku.twidere.view.ProfileImageView
|
||||||
android:id="@+id/profileImage"
|
android:id="@+id/profileImage"
|
||||||
style="?profileImageStyle"
|
style="?profileImageStyle"
|
||||||
|
@ -52,6 +38,8 @@
|
||||||
android:layout_height="@dimen/icon_size_card_list_item"
|
android:layout_height="@dimen/icon_size_card_list_item"
|
||||||
android:layout_centerInParent="true"
|
android:layout_centerInParent="true"
|
||||||
android:contentDescription="@string/profile_image"
|
android:contentDescription="@string/profile_image"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:src="@drawable/ic_profile_image_twidere"/>
|
tools:src="@drawable/ic_profile_image_twidere"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -61,49 +49,34 @@
|
||||||
android:layout_alignBottom="@+id/profileImage"
|
android:layout_alignBottom="@+id/profileImage"
|
||||||
android:layout_alignEnd="@+id/profileImage"
|
android:layout_alignEnd="@+id/profileImage"
|
||||||
android:layout_alignRight="@+id/profileImage"
|
android:layout_alignRight="@+id/profileImage"
|
||||||
android:layout_marginBottom="@dimen/element_spacing_minus_small"
|
|
||||||
android:layout_marginEnd="@dimen/element_spacing_minus_normal"
|
|
||||||
android:layout_marginRight="@dimen/element_spacing_minus_normal"
|
|
||||||
android:scaleType="centerInside"
|
android:scaleType="centerInside"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/profileImage"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/profileImage"
|
||||||
tools:ignore="ContentDescription"
|
tools:ignore="ContentDescription"
|
||||||
tools:src="@drawable/ic_user_type_verified"
|
tools:src="@drawable/ic_user_type_verified"
|
||||||
tools:visibility="visible"/>
|
tools:visibility="visible"/>
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.NameView
|
<org.mariotaku.twidere.view.NameView
|
||||||
android:id="@+id/name"
|
android:id="@+id/name"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignBottom="@+id/actionsProgressContainer"
|
android:layout_marginLeft="@dimen/element_spacing_normal"
|
||||||
android:layout_alignTop="@+id/actionsProgressContainer"
|
android:layout_marginStart="@dimen/element_spacing_normal"
|
||||||
android:layout_toEndOf="@+id/profileImageContainer"
|
|
||||||
android:layout_toLeftOf="@+id/actionsProgressContainer"
|
|
||||||
android:layout_toRightOf="@+id/profileImageContainer"
|
|
||||||
android:layout_toStartOf="@+id/actionsProgressContainer"
|
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
|
android:minHeight="@dimen/icon_size_card_list_item"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/actionsProgressBarrier"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/profileImage"
|
||||||
app:tltvPrimaryTextColor="?android:textColorPrimary"
|
app:tltvPrimaryTextColor="?android:textColorPrimary"
|
||||||
app:tltvPrimaryTextStyle="bold"
|
app:tltvPrimaryTextStyle="bold"
|
||||||
app:tltvSecondaryTextColor="?android:textColorSecondary"
|
app:tltvSecondaryTextColor="?android:textColorSecondary"
|
||||||
app:tltvTwoLine="true"/>
|
app:tltvTwoLine="true"/>
|
||||||
|
|
||||||
<FrameLayout
|
<android.support.constraint.Barrier
|
||||||
android:id="@+id/actionsProgressContainer"
|
android:id="@+id/actionsProgressBarrier"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="0dp"
|
||||||
android:layout_alignParentEnd="true"
|
app:barrierDirection="start"
|
||||||
android:layout_alignParentRight="true"
|
app:constraint_referenced_ids="unmute,processingRequest"/>
|
||||||
android:clipChildren="false"
|
|
||||||
android:minHeight="@dimen/button_size_content_card"
|
|
||||||
android:minWidth="@dimen/button_size_content_card">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/actionsContainer"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:clipChildren="false"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
tools:visibility="visible">
|
|
||||||
|
|
||||||
<android.support.v7.widget.AppCompatImageButton
|
<android.support.v7.widget.AppCompatImageButton
|
||||||
android:id="@+id/unmute"
|
android:id="@+id/unmute"
|
||||||
|
@ -112,8 +85,12 @@
|
||||||
android:layout_height="@dimen/button_size_content_card"
|
android:layout_height="@dimen/button_size_content_card"
|
||||||
android:contentDescription="@string/action_follow"
|
android:contentDescription="@string/action_follow"
|
||||||
app:backgroundTint="@color/material_grey"
|
app:backgroundTint="@color/material_grey"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/name"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/follow"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/name"
|
||||||
app:srcCompat="@drawable/ic_action_visibility_off"
|
app:srcCompat="@drawable/ic_action_visibility_off"
|
||||||
app:tint="@android:color/white"/>
|
app:tint="@android:color/white"
|
||||||
|
tools:visibility="gone"/>
|
||||||
|
|
||||||
<android.support.v7.widget.AppCompatImageButton
|
<android.support.v7.widget.AppCompatImageButton
|
||||||
android:id="@+id/follow"
|
android:id="@+id/follow"
|
||||||
|
@ -122,8 +99,12 @@
|
||||||
android:layout_height="@dimen/button_size_content_card"
|
android:layout_height="@dimen/button_size_content_card"
|
||||||
android:contentDescription="@string/action_follow"
|
android:contentDescription="@string/action_follow"
|
||||||
app:backgroundTint="@color/color_stateful_follow"
|
app:backgroundTint="@color/color_stateful_follow"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/name"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/acceptRequest"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/name"
|
||||||
app:srcCompat="@drawable/ic_action_add"
|
app:srcCompat="@drawable/ic_action_add"
|
||||||
app:tint="@android:color/black"/>
|
app:tint="@android:color/black"
|
||||||
|
tools:visibility="visible"/>
|
||||||
|
|
||||||
<android.support.v7.widget.AppCompatImageButton
|
<android.support.v7.widget.AppCompatImageButton
|
||||||
android:id="@+id/acceptRequest"
|
android:id="@+id/acceptRequest"
|
||||||
|
@ -132,8 +113,12 @@
|
||||||
android:layout_height="@dimen/button_size_content_card"
|
android:layout_height="@dimen/button_size_content_card"
|
||||||
android:contentDescription="@string/action_accept_friend_request"
|
android:contentDescription="@string/action_accept_friend_request"
|
||||||
app:backgroundTint="@color/material_light_green"
|
app:backgroundTint="@color/material_light_green"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/name"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/denyRequest"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/name"
|
||||||
app:srcCompat="@drawable/ic_action_confirm"
|
app:srcCompat="@drawable/ic_action_confirm"
|
||||||
app:tint="@android:color/white"/>
|
app:tint="@android:color/white"
|
||||||
|
tools:visibility="gone"/>
|
||||||
|
|
||||||
<android.support.v7.widget.AppCompatImageButton
|
<android.support.v7.widget.AppCompatImageButton
|
||||||
android:id="@+id/denyRequest"
|
android:id="@+id/denyRequest"
|
||||||
|
@ -142,8 +127,12 @@
|
||||||
android:layout_height="@dimen/button_size_content_card"
|
android:layout_height="@dimen/button_size_content_card"
|
||||||
android:contentDescription="@string/deny"
|
android:contentDescription="@string/deny"
|
||||||
app:backgroundTint="@color/material_red"
|
app:backgroundTint="@color/material_red"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/name"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/unblock"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/name"
|
||||||
app:srcCompat="@drawable/ic_action_cancel"
|
app:srcCompat="@drawable/ic_action_cancel"
|
||||||
app:tint="@android:color/white"/>
|
app:tint="@android:color/white"
|
||||||
|
tools:visibility="gone"/>
|
||||||
|
|
||||||
<android.support.v7.widget.AppCompatImageButton
|
<android.support.v7.widget.AppCompatImageButton
|
||||||
android:id="@+id/unblock"
|
android:id="@+id/unblock"
|
||||||
|
@ -152,10 +141,12 @@
|
||||||
android:layout_height="@dimen/button_size_content_card"
|
android:layout_height="@dimen/button_size_content_card"
|
||||||
android:contentDescription="@string/deny"
|
android:contentDescription="@string/deny"
|
||||||
app:backgroundTint="@color/material_red"
|
app:backgroundTint="@color/material_red"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/name"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/name"
|
||||||
app:srcCompat="@drawable/ic_action_block"
|
app:srcCompat="@drawable/ic_action_block"
|
||||||
app:tint="@android:color/white"/>
|
app:tint="@android:color/white"
|
||||||
|
tools:visibility="gone"/>
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/processingRequest"
|
android:id="@+id/processingRequest"
|
||||||
|
@ -163,120 +154,137 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:visibility="gone"/>
|
android:visibility="visible"
|
||||||
|
app:layout_constrainedWidth="true"
|
||||||
</FrameLayout>
|
app:layout_constraintBottom_toBottomOf="@+id/name"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/name"
|
||||||
|
app:layout_constraintWidth_min="@dimen/button_size_content_card"/>
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.FixedTextView
|
<org.mariotaku.twidere.view.FixedTextView
|
||||||
android:id="@+id/externalIndicator"
|
android:id="@+id/externalIndicator"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignLeft="@+id/name"
|
|
||||||
android:layout_alignStart="@+id/name"
|
|
||||||
android:layout_below="@+id/name"
|
|
||||||
android:paddingTop="@dimen/element_spacing_small"
|
android:paddingTop="@dimen/element_spacing_small"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textStyle="italic"
|
android:textStyle="italic"
|
||||||
tools:text="External user at twitter.com"/>
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/name"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/name"
|
||||||
|
tools:text="External user at twitter.com"
|
||||||
|
tools:visibility="gone"/>
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.FixedTextView
|
<org.mariotaku.twidere.view.FixedTextView
|
||||||
android:id="@+id/description"
|
android:id="@+id/description"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignLeft="@+id/name"
|
|
||||||
android:layout_alignStart="@+id/name"
|
|
||||||
android:layout_below="@+id/externalIndicator"
|
|
||||||
android:paddingTop="@dimen/element_spacing_small"
|
android:paddingTop="@dimen/element_spacing_small"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
tools:text="@string/sample_status_text"/>
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/name"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/externalIndicator"
|
||||||
|
tools:text="@string/sample_status_text"
|
||||||
|
tools:visibility="gone"/>
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.DrawableTintTextView
|
<org.mariotaku.twidere.view.DrawableTintTextView
|
||||||
android:id="@+id/location"
|
android:id="@+id/location"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignLeft="@+id/name"
|
android:drawableLeft="@drawable/ic_label_location"
|
||||||
android:layout_alignStart="@+id/name"
|
|
||||||
android:layout_below="@+id/description"
|
|
||||||
android:drawableLeft="@drawable/ic_indicator_location"
|
|
||||||
android:drawablePadding="@dimen/element_spacing_small"
|
android:drawablePadding="@dimen/element_spacing_small"
|
||||||
android:drawableStart="@drawable/ic_indicator_location"
|
android:drawableStart="@drawable/ic_label_location"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
|
android:gravity="center_vertical"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:paddingTop="@dimen/element_spacing_small"
|
android:paddingTop="@dimen/element_spacing_small"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
app:drawableTint="?android:textColorSecondary"
|
app:drawableTint="?android:textColorSecondary"
|
||||||
tools:text="Earth"/>
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/name"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/description"
|
||||||
|
tools:text="Earth"
|
||||||
|
tools:visibility="gone"/>
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.DrawableTintTextView
|
<org.mariotaku.twidere.view.DrawableTintTextView
|
||||||
android:id="@+id/url"
|
android:id="@+id/url"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignLeft="@+id/name"
|
android:drawableLeft="@drawable/ic_label_web"
|
||||||
android:layout_alignStart="@+id/name"
|
|
||||||
android:layout_below="@+id/location"
|
|
||||||
android:drawableLeft="@drawable/ic_indicator_web"
|
|
||||||
android:drawablePadding="@dimen/element_spacing_small"
|
android:drawablePadding="@dimen/element_spacing_small"
|
||||||
android:drawableStart="@drawable/ic_indicator_web"
|
android:drawableStart="@drawable/ic_label_web"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
|
android:gravity="center_vertical"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:paddingTop="@dimen/element_spacing_small"
|
android:paddingTop="@dimen/element_spacing_small"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
app:drawableTint="?android:textColorSecondary"
|
app:drawableTint="?android:textColorSecondary"
|
||||||
tools:text="https://github.com/TwidereProject"/>
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/name"
|
||||||
<LinearLayout
|
app:layout_constraintTop_toBottomOf="@+id/location"
|
||||||
android:id="@+id/countsContainer"
|
tools:text="https://github.com/TwidereProject"
|
||||||
android:layout_width="match_parent"
|
tools:visibility="gone"/>
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignLeft="@+id/name"
|
|
||||||
android:layout_alignStart="@+id/name"
|
|
||||||
android:layout_below="@+id/url"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:paddingTop="@dimen/element_spacing_small">
|
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.DrawableTintTextView
|
<org.mariotaku.twidere.view.DrawableTintTextView
|
||||||
android:id="@+id/statusesCount"
|
android:id="@+id/statusesCount"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
|
||||||
android:drawableLeft="@drawable/ic_indicator_twitter"
|
android:drawableLeft="@drawable/ic_indicator_twitter"
|
||||||
android:drawablePadding="@dimen/element_spacing_small"
|
android:drawablePadding="@dimen/element_spacing_small"
|
||||||
android:drawableStart="@drawable/ic_indicator_twitter"
|
android:drawableStart="@drawable/ic_indicator_twitter"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:padding="@dimen/element_spacing_small"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
app:drawableTint="?android:textColorSecondary"
|
app:drawableTint="?android:textColorSecondary"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/followersCount"
|
||||||
|
app:layout_constraintHorizontal_chainStyle="spread"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/name"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/url"
|
||||||
tools:text="255"/>
|
tools:text="255"/>
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.DrawableTintTextView
|
<org.mariotaku.twidere.view.DrawableTintTextView
|
||||||
android:id="@+id/followersCount"
|
android:id="@+id/followersCount"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
|
||||||
android:drawableLeft="@drawable/ic_indicator_followers"
|
android:drawableLeft="@drawable/ic_indicator_followers"
|
||||||
android:drawablePadding="@dimen/element_spacing_small"
|
android:drawablePadding="@dimen/element_spacing_small"
|
||||||
android:drawableStart="@drawable/ic_indicator_followers"
|
android:drawableStart="@drawable/ic_indicator_followers"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:padding="@dimen/element_spacing_small"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
app:drawableTint="?android:textColorSecondary"
|
app:drawableTint="?android:textColorSecondary"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/friendsCount"
|
||||||
|
app:layout_constraintHorizontal_chainStyle="spread"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/statusesCount"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/url"
|
||||||
tools:text="255"/>
|
tools:text="255"/>
|
||||||
|
|
||||||
<org.mariotaku.twidere.view.DrawableTintTextView
|
<org.mariotaku.twidere.view.DrawableTintTextView
|
||||||
android:id="@+id/friendsCount"
|
android:id="@+id/friendsCount"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
|
||||||
android:drawableLeft="@drawable/ic_indicator_following"
|
android:drawableLeft="@drawable/ic_indicator_following"
|
||||||
android:drawablePadding="@dimen/element_spacing_small"
|
android:drawablePadding="@dimen/element_spacing_small"
|
||||||
android:drawableStart="@drawable/ic_indicator_following"
|
android:drawableStart="@drawable/ic_indicator_following"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:padding="@dimen/element_spacing_small"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
app:drawableTint="?android:textColorSecondary"
|
app:drawableTint="?android:textColorSecondary"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_chainStyle="spread"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/followersCount"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/url"
|
||||||
tools:text="255"/>
|
tools:text="255"/>
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</org.mariotaku.twidere.view.ColorLabelRelativeLayout>
|
<android.support.constraint.Group
|
||||||
|
android:id="@+id/countsContainer"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
app:constraint_referenced_ids="statusesCount,followersCount,friendsCount"
|
||||||
|
tools:visibility="gone"/>
|
||||||
|
|
||||||
|
</org.mariotaku.twidere.view.ColorLabelConstraintLayout>
|
Loading…
Reference in New Issue