Tweak movie list items
This commit is contained in:
parent
5f6d4051f0
commit
fb03153365
|
@ -20,6 +20,7 @@ import android.content.SharedPreferences;
|
|||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.net.Uri;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.provider.BaseColumns;
|
||||
|
@ -327,16 +328,18 @@ public class MovieListFragment extends AbstractCursorListFragment {
|
|||
|
||||
private HostManager hostManager;
|
||||
private int artWidth, artHeight;
|
||||
private int themeAccentColor;
|
||||
private int themeAccentColor, dimmedNeutralColor;
|
||||
|
||||
MoviesAdapter(Context context) {
|
||||
// Get the default accent color
|
||||
Resources.Theme theme = context.getTheme();
|
||||
TypedArray styledAttributes = theme.obtainStyledAttributes(new int[] {
|
||||
R.attr.colorAccent
|
||||
R.attr.colorAccent, R.attr.dimmedNeutralColor
|
||||
|
||||
});
|
||||
|
||||
themeAccentColor = styledAttributes.getColor(styledAttributes.getIndex(0), getResources().getColor(R.color.accent_default));
|
||||
dimmedNeutralColor = styledAttributes.getColor(styledAttributes.getIndex(1), getResources().getColor(R.color.white_dim_26pct));
|
||||
styledAttributes.recycle();
|
||||
|
||||
this.hostManager = HostManager.getInstance(context);
|
||||
|
@ -356,7 +359,7 @@ public class MovieListFragment extends AbstractCursorListFragment {
|
|||
final View view = LayoutInflater.from(getContext())
|
||||
.inflate(R.layout.grid_item_movie, parent, false);
|
||||
|
||||
return new ViewHolder(view, getContext(), themeAccentColor, hostManager, artWidth, artHeight);
|
||||
return new ViewHolder(view, getContext(), themeAccentColor, dimmedNeutralColor, hostManager, artWidth, artHeight);
|
||||
}
|
||||
|
||||
protected int getSectionColumnIdx() { return MovieListQuery.TITLE; }
|
||||
|
@ -376,16 +379,17 @@ public class MovieListFragment extends AbstractCursorListFragment {
|
|||
int artWidth;
|
||||
int artHeight;
|
||||
Context context;
|
||||
int themeAccentColor;
|
||||
int themeAccentColor, dimmedNeutralColor;
|
||||
|
||||
AbstractFragment.DataHolder dataHolder = new AbstractFragment.DataHolder(0);
|
||||
|
||||
ViewHolder(View itemView, Context context, int themeAccentColor,
|
||||
ViewHolder(View itemView, Context context, int themeAccentColor, int dimmedNeutralColor,
|
||||
HostManager hostManager,
|
||||
int artWidth, int artHeight) {
|
||||
super(itemView);
|
||||
this.context = context;
|
||||
this.themeAccentColor = themeAccentColor;
|
||||
this.dimmedNeutralColor = dimmedNeutralColor;
|
||||
this.hostManager = hostManager;
|
||||
this.artWidth = artWidth;
|
||||
this.artHeight = artHeight;
|
||||
|
@ -432,11 +436,16 @@ public class MovieListFragment extends AbstractCursorListFragment {
|
|||
dataHolder.getTitle(),
|
||||
artView, artWidth, artHeight);
|
||||
|
||||
if (showWatchedStatus && (cursor.getInt(MovieListQuery.PLAYCOUNT) > 0)) {
|
||||
if (showWatchedStatus) {
|
||||
checkmarkView.setVisibility(View.VISIBLE);
|
||||
checkmarkView.setColorFilter(themeAccentColor);
|
||||
} else {
|
||||
checkmarkView.setVisibility(View.INVISIBLE);
|
||||
if (cursor.getInt(MovieListQuery.PLAYCOUNT) > 0) {
|
||||
checkmarkView.setColorFilter(themeAccentColor);
|
||||
} else {
|
||||
checkmarkView.setColorFilter(dimmedNeutralColor, PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
else {
|
||||
checkmarkView.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (Utils.isLollipopOrLater()) {
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
tools:layout_width="match_parent"
|
||||
tools:layout_height="100dp">
|
||||
|
||||
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<android.support.constraint.ConstraintLayout
|
||||
android:id="@+id/relativeLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
@ -44,10 +44,10 @@
|
|||
style="@style/TextAppearance.Medialist.Title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/art"
|
||||
app:layout_constraintStart_toEndOf="@id/art"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/art"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/art"
|
||||
app:layout_constraintTop_toTopOf="@id/art" />
|
||||
|
||||
<TextView
|
||||
|
@ -55,10 +55,10 @@
|
|||
style="@style/TextAppearance.Medialist.Details"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintRight_toRightOf="@id/title"
|
||||
app:layout_constraintLeft_toLeftOf="@id/title"
|
||||
app:layout_constraintStart_toStartOf="@id/title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="@id/title"
|
||||
app:layout_constraintRight_toRightOf="@id/title"
|
||||
app:layout_constraintStart_toStartOf="@id/title"
|
||||
app:layout_constraintTop_toBottomOf="@id/title" />
|
||||
|
||||
<TextView
|
||||
|
@ -67,32 +67,34 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/title"
|
||||
app:layout_constraintEnd_toStartOf="@id/rating_bar"/>
|
||||
app:layout_constraintEnd_toStartOf="@id/rating_bar"
|
||||
app:layout_constraintStart_toStartOf="@id/title" />
|
||||
|
||||
<org.xbmc.kore.ui.views.RatingBar
|
||||
android:id="@+id/rating_bar"
|
||||
style="@style/RatingBar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/meta_info"
|
||||
app:layout_constraintRight_toLeftOf="@id/checkmark"
|
||||
app:layout_constraintEnd_toStartOf="@id/checkmark"
|
||||
app:layout_constraintTop_toTopOf="@id/meta_info"
|
||||
app:backgroundColor="?attr/ratingBarStarBackgroundColor"
|
||||
app:foregroundColor="?attr/ratingBarStarForegroundColor"
|
||||
app:icon="?attr/iconRating"/>
|
||||
app:icon="?attr/iconRating"
|
||||
app:layout_constraintBottom_toBottomOf="@id/meta_info"
|
||||
app:layout_constraintEnd_toStartOf="@id/checkmark"
|
||||
app:layout_constraintRight_toLeftOf="@id/checkmark"
|
||||
app:layout_constraintTop_toTopOf="@id/meta_info" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/checkmark"
|
||||
style="@style/Widget.Button.Borderless"
|
||||
android:layout_width="@dimen/default_icon_size"
|
||||
android:layout_height="@dimen/default_icon_size"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/small_padding"
|
||||
android:layout_marginRight="@dimen/small_padding"
|
||||
android:layout_marginBottom="@dimen/small_padding"
|
||||
android:contentDescription="@string/seen"
|
||||
android:padding="@dimen/default_icon_padding"
|
||||
android:src="?attr/iconSeen"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
app:layout_constraintBottom_toBottomOf="@id/meta_info"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
</android.support.constraint.ConstraintLayout>
|
||||
</android.support.v7.widget.CardView>
|
|
@ -144,5 +144,8 @@
|
|||
<attr name="iconCount" format="integer"/>
|
||||
<attr name="icon" format="reference"/>
|
||||
</declare-styleable>
|
||||
|
||||
<attr name="dimmedNeutralColor" format="reference|color" />
|
||||
|
||||
</resources>
|
||||
|
||||
|
|
|
@ -370,6 +370,7 @@
|
|||
|
||||
<style name="RatingBar">
|
||||
<item name="android:layout_marginBottom">@dimen/small_padding</item>
|
||||
<item name="android:layout_marginRight">@dimen/small_padding</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
||||
|
|
|
@ -95,6 +95,8 @@
|
|||
<item name="ratingBarStarBackgroundColor">@color/white_dim_26pct</item>
|
||||
<item name="ratingBarStarForegroundColor">?attr/colorAccent</item>
|
||||
|
||||
<item name="dimmedNeutralColor">@color/white_dim_26pct</item>
|
||||
|
||||
<!-- Icons -->
|
||||
<item name="iconFABDialsOpenClose">@drawable/ic_plus_white_24dp</item>
|
||||
<item name="iconFABDefault">@drawable/ic_play_arrow_white_24dp</item>
|
||||
|
@ -240,6 +242,8 @@
|
|||
<item name="ratingBarStarBackgroundColor">@color/black_dim_26pct</item>
|
||||
<item name="ratingBarStarForegroundColor">?attr/colorAccent</item>
|
||||
|
||||
<item name="dimmedNeutralColor">@color/black_dim_26pct</item>
|
||||
|
||||
<!-- Icons, same for all themes, will be colored dynamically -->
|
||||
<item name="iconFABDialsOpenClose">@drawable/ic_plus_white_24dp</item>
|
||||
<item name="iconFABDefault">@drawable/ic_play_arrow_white_24dp</item>
|
||||
|
|
Loading…
Reference in New Issue