Minor UI tweaks.

This commit is contained in:
Alex Ning 2019-06-18 21:27:40 +08:00
parent 8092c07ea0
commit a4b93699d8
6 changed files with 71 additions and 98 deletions

View File

@ -8,6 +8,7 @@ import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
@ -15,12 +16,6 @@ import android.os.AsyncTask;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Environment; import android.os.Environment;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import android.text.Spannable; import android.text.Spannable;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
@ -33,6 +28,13 @@ import android.widget.ProgressBar;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.alexvasilkov.gestures.GestureController; import com.alexvasilkov.gestures.GestureController;
import com.alexvasilkov.gestures.State; import com.alexvasilkov.gestures.State;
import com.alexvasilkov.gestures.views.GestureImageView; import com.alexvasilkov.gestures.views.GestureImageView;
@ -89,25 +91,25 @@ public class ViewImageActivity extends AppCompatActivity {
setContentView(R.layout.activity_view_image); setContentView(R.layout.activity_view_image);
ButterKnife.bind(this); ButterKnife.bind(this);
final ActionBar actionBar = getSupportActionBar(); ActionBar actionBar = getSupportActionBar();
final Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp); Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp);
actionBar.setHomeAsUpIndicator(upArrow); actionBar.setHomeAsUpIndicator(upArrow);
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.transparentActionBarColor)));
Intent intent = getIntent(); Intent intent = getIntent();
mImageUrl = intent.getExtras().getString(IMAGE_URL_KEY); mImageUrl = intent.getExtras().getString(IMAGE_URL_KEY);
mImageFileName = intent.getExtras().getString(FILE_NAME_KEY); mImageFileName = intent.getExtras().getString(FILE_NAME_KEY);
String title = intent.getExtras().getString(TITLE_KEY); String title = intent.getExtras().getString(TITLE_KEY);
final Spannable text = new SpannableString(title); Spannable text = new SpannableString(title);
text.setSpan(new ForegroundColorSpan(Color.WHITE), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
setTitle(text); setTitle(text);
mLoadErrorLinearLayout.setOnClickListener(new View.OnClickListener() { mLoadErrorLinearLayout.setOnClickListener(view -> {
@Override if(!isSwiping) {
public void onClick(View view) { mProgressBar.setVisibility(View.VISIBLE);
if(!isSwiping) { mLoadErrorLinearLayout.setVisibility(View.GONE);
mProgressBar.setVisibility(View.VISIBLE); loadImage();
mLoadErrorLinearLayout.setVisibility(View.GONE);
loadImage();
}
} }
}); });
@ -126,31 +128,18 @@ public class ViewImageActivity extends AppCompatActivity {
actionBarColorAnimation.setDuration(300); actionBarColorAnimation.setDuration(300);
actionBarElementColorAnimation.setDuration(300); actionBarElementColorAnimation.setDuration(300);
activityColorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { activityColorAnimation.addUpdateListener(valueAnimator -> mRelativeLayout.setBackgroundColor((int) valueAnimator.getAnimatedValue()));
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
mRelativeLayout.setBackgroundColor((int) valueAnimator.getAnimatedValue());
}
});
actionBarColorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { actionBarColorAnimation.addUpdateListener(valueAnimator -> actionBar.setBackgroundDrawable(new ColorDrawable((int) valueAnimator.getAnimatedValue())));
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
actionBar.setBackgroundDrawable(new ColorDrawable((int) valueAnimator.getAnimatedValue()));
}
});
actionBarElementColorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { actionBarElementColorAnimation.addUpdateListener(valueAnimator -> {
@Override text.setSpan(new ForegroundColorSpan((int) valueAnimator.getAnimatedValue()), 0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
public void onAnimationUpdate(ValueAnimator valueAnimator) { actionBar.setTitle(text);
text.setSpan(new ForegroundColorSpan((int) valueAnimator.getAnimatedValue()), 0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE); upArrow.setColorFilter((int) valueAnimator.getAnimatedValue(), PorterDuff.Mode.SRC_IN);
actionBar.setTitle(text); if(mMenu != null) {
upArrow.setColorFilter((int) valueAnimator.getAnimatedValue(), PorterDuff.Mode.SRC_IN); Drawable drawable = mMenu.getItem(0).getIcon();
if(mMenu != null) { //drawable.mutate();
Drawable drawable = mMenu.getItem(0).getIcon(); drawable.setColorFilter((int) valueAnimator.getAnimatedValue(), PorterDuff.Mode.SRC_IN);
//drawable.mutate();
drawable.setColorFilter((int) valueAnimator.getAnimatedValue(), PorterDuff.Mode.SRC_IN);
}
} }
}); });
@ -316,25 +305,22 @@ public class ViewImageActivity extends AppCompatActivity {
mImageView.getController().getSettings().setPanEnabled(true); mImageView.getController().getSettings().setPanEnabled(true);
mImageView.setOnClickListener(new View.OnClickListener() { mImageView.setOnClickListener(view -> {
@Override if (isActionBarHidden) {
public void onClick(View view) { getWindow().getDecorView().setSystemUiVisibility(
if (isActionBarHidden) { View.SYSTEM_UI_FLAG_LAYOUT_STABLE
getWindow().getDecorView().setSystemUiVisibility( | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION isActionBarHidden = false;
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); } else {
isActionBarHidden = false; getWindow().getDecorView().setSystemUiVisibility(
} else { View.SYSTEM_UI_FLAG_LAYOUT_STABLE
getWindow().getDecorView().setSystemUiVisibility( | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE);
| View.SYSTEM_UI_FLAG_FULLSCREEN isActionBarHidden = true;
| View.SYSTEM_UI_FLAG_IMMERSIVE);
isActionBarHidden = true;
}
} }
}); });
} }

View File

@ -192,7 +192,7 @@ public class ViewSubredditDetailActivity extends AppCompatActivity {
@Override @Override
public void onSubredditSubscriptionSuccess() { public void onSubredditSubscriptionSuccess() {
subscribeSubredditChip.setText(R.string.subscribe); subscribeSubredditChip.setText(R.string.subscribe);
subscribeSubredditChip.setChipBackgroundColor(getResources().getColorStateList(R.color.textColorPrimaryDark)); subscribeSubredditChip.setChipBackgroundColor(getResources().getColorStateList(R.color.backgroundColorPrimaryDark));
makeSnackbar(R.string.unsubscribed); makeSnackbar(R.string.unsubscribed);
subscriptionReady = true; subscriptionReady = true;
} }
@ -219,7 +219,7 @@ public class ViewSubredditDetailActivity extends AppCompatActivity {
@Override @Override
public void isNotSubscribed() { public void isNotSubscribed() {
subscribeSubredditChip.setText(R.string.subscribe); subscribeSubredditChip.setText(R.string.subscribe);
subscribeSubredditChip.setChipBackgroundColor(getResources().getColorStateList(R.color.textColorPrimaryDark)); subscribeSubredditChip.setChipBackgroundColor(getResources().getColorStateList(R.color.backgroundColorPrimaryDark));
subscriptionReady = true; subscriptionReady = true;
} }
}).execute(); }).execute();

View File

@ -180,7 +180,7 @@ public class ViewUserDetailActivity extends AppCompatActivity {
@Override @Override
public void onUserFollowingSuccess() { public void onUserFollowingSuccess() {
subscribeUserChip.setText(R.string.follow); subscribeUserChip.setText(R.string.follow);
subscribeUserChip.setChipBackgroundColor(getResources().getColorStateList(R.color.textColorPrimaryDark)); subscribeUserChip.setChipBackgroundColor(getResources().getColorStateList(R.color.backgroundColorPrimaryDark));
makeSnackbar(R.string.unfollowed); makeSnackbar(R.string.unfollowed);
subscriptionReady = true; subscriptionReady = true;
} }
@ -206,7 +206,7 @@ public class ViewUserDetailActivity extends AppCompatActivity {
@Override @Override
public void isNotSubscribed() { public void isNotSubscribed() {
subscribeUserChip.setText(R.string.follow); subscribeUserChip.setText(R.string.follow);
subscribeUserChip.setChipBackgroundColor(getResources().getColorStateList(R.color.textColorPrimaryDark)); subscribeUserChip.setChipBackgroundColor(getResources().getColorStateList(R.color.backgroundColorPrimaryDark));
subscriptionReady = true; subscriptionReady = true;
} }
}).execute(); }).execute();

View File

@ -8,6 +8,7 @@ import android.app.DownloadManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
@ -16,11 +17,6 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Environment; import android.os.Environment;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import android.text.Spannable; import android.text.Spannable;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
@ -33,6 +29,12 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.github.pwittchen.swipe.library.rx2.SimpleSwipeListener; import com.github.pwittchen.swipe.library.rx2.SimpleSwipeListener;
import com.github.pwittchen.swipe.library.rx2.Swipe; import com.github.pwittchen.swipe.library.rx2.Swipe;
import com.google.android.exoplayer2.ExoPlayerFactory; import com.google.android.exoplayer2.ExoPlayerFactory;
@ -91,8 +93,9 @@ public class ViewVideoActivity extends AppCompatActivity {
ButterKnife.bind(this); ButterKnife.bind(this);
setVolumeControlStream(AudioManager.STREAM_MUSIC); setVolumeControlStream(AudioManager.STREAM_MUSIC);
final ActionBar actionBar = getSupportActionBar(); ActionBar actionBar = getSupportActionBar();
final Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp); actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.transparentActionBarColor)));
Drawable upArrow = getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp);
getSupportActionBar().setHomeAsUpIndicator(upArrow); getSupportActionBar().setHomeAsUpIndicator(upArrow);
//Set player controller margin bottom in order to display it above the navbar //Set player controller margin bottom in order to display it above the navbar
@ -106,7 +109,8 @@ public class ViewVideoActivity extends AppCompatActivity {
mIsDashVideo = intent.getExtras().getBoolean(IS_DASH_VIDEO_KEY); mIsDashVideo = intent.getExtras().getBoolean(IS_DASH_VIDEO_KEY);
String title = intent.getExtras().getString(TITLE_KEY); String title = intent.getExtras().getString(TITLE_KEY);
final Spannable text = new SpannableString(title); Spannable text = new SpannableString(title);
text.setSpan(new ForegroundColorSpan(Color.WHITE), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
setTitle(text); setTitle(text);
if(intent.getExtras().getBoolean(IS_DOWNLOADABLE_KEY)) { if(intent.getExtras().getBoolean(IS_DOWNLOADABLE_KEY)) {
@ -130,30 +134,17 @@ public class ViewVideoActivity extends AppCompatActivity {
actionBarColorAnimation.setDuration(300); actionBarColorAnimation.setDuration(300);
actionBarElementColorAnimation.setDuration(300); actionBarElementColorAnimation.setDuration(300);
activityColorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { activityColorAnimation.addUpdateListener(valueAnimator -> relativeLayout.setBackgroundColor((int) valueAnimator.getAnimatedValue()));
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
relativeLayout.setBackgroundColor((int) valueAnimator.getAnimatedValue());
}
});
actionBarColorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { actionBarColorAnimation.addUpdateListener(valueAnimator -> actionBar.setBackgroundDrawable(new ColorDrawable((int) valueAnimator.getAnimatedValue())));
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
actionBar.setBackgroundDrawable(new ColorDrawable((int) valueAnimator.getAnimatedValue()));
}
});
actionBarElementColorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { actionBarElementColorAnimation.addUpdateListener(valueAnimator -> {
@Override text.setSpan(new ForegroundColorSpan((int) valueAnimator.getAnimatedValue()), 0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
public void onAnimationUpdate(ValueAnimator valueAnimator) { actionBar.setTitle(text);
text.setSpan(new ForegroundColorSpan((int) valueAnimator.getAnimatedValue()), 0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE); upArrow.setColorFilter((int) valueAnimator.getAnimatedValue(), PorterDuff.Mode.SRC_IN);
actionBar.setTitle(text); if(mMenu != null) {
upArrow.setColorFilter((int) valueAnimator.getAnimatedValue(), PorterDuff.Mode.SRC_IN); Drawable drawable = mMenu.getItem(0).getIcon();
if(mMenu != null) { drawable.setColorFilter((int) valueAnimator.getAnimatedValue(), PorterDuff.Mode.SRC_IN);
Drawable drawable = mMenu.getItem(0).getIcon();
drawable.setColorFilter((int) valueAnimator.getAnimatedValue(), PorterDuff.Mode.SRC_IN);
}
} }
}); });

View File

@ -319,11 +319,6 @@
android:textColor="@color/primaryTextColor" android:textColor="@color/primaryTextColor"
android:textSize="18sp" /> android:textSize="18sp" />
<!--<com.multilevelview.MultiLevelRecyclerView
android:id="@+id/recycler_view_view_post_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content" />-->
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view_view_post_detail" android:id="@+id/recycler_view_view_post_detail"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -6,6 +6,7 @@
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:id="@+id/card_view_item_post" android:id="@+id/card_view_item_post"
app:cardElevation="2dp"
app:cardCornerRadius="16dp"> app:cardCornerRadius="16dp">
<LinearLayout <LinearLayout