From b218b743bf8311cb58d9ebb2d86f38f81de00881 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 10 Jul 2015 22:48:28 +0300 Subject: headline layout tweaks --- .../main/java/org/fox/ttrss/HeadlinesFragment.java | 46 ++++++- .../src/main/res/layout/headlines_row.xml | 138 +++++++++++---------- .../src/main/res/layout/headlines_row_unread.xml | 136 ++++++++++---------- 3 files changed, 185 insertions(+), 135 deletions(-) (limited to 'org.fox.ttrss/src/main') diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index cbb95fa0..504ac9e2 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -42,6 +42,7 @@ import android.widget.CheckBox; import android.widget.ImageView; import android.widget.ListView; import android.widget.ProgressBar; +import android.widget.RelativeLayout; import android.widget.TextView; import com.amulyakhare.textdrawable.TextDrawable; @@ -1095,6 +1096,8 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, holder.flavorImageView.setTag(posterUri); holder.flavorImageView.setVisibility(View.VISIBLE); holder.flavorVideoPlayView.setVisibility(View.VISIBLE); + + maybeRepositionFlavorImage(view, bitmap); } @Override @@ -1174,6 +1177,8 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, holder.flavorImageView.setTag(thumbUri); holder.flavorImageView.setVisibility(View.VISIBLE); holder.flavorVideoPlayView.setVisibility(View.VISIBLE); + + maybeRepositionFlavorImage(view, bitmap); } @Override @@ -1214,10 +1219,6 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, if (imgSrc.indexOf("//") == 0) imgSrc = "http:" + imgSrc; - if (article.flavorImageCount > 1) { - holder.flavorImagePrompt.setVisibility(View.VISIBLE); - } - ViewCompat.setTransitionName(holder.flavorImageView, "TRANSITION:ARTICLE_IMAGES_PAGER"); holder.flavorImageView.setOnClickListener(new OnClickListener() { @@ -1264,6 +1265,12 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, if (bitmap.getWidth() > FLAVOR_IMG_MIN_SIZE && bitmap.getHeight() > FLAVOR_IMG_MIN_SIZE) { holder.flavorImageView.setVisibility(View.VISIBLE); + + if (article.flavorImageCount > 1) { + holder.flavorImagePrompt.setVisibility(View.VISIBLE); + } + + maybeRepositionFlavorImage(view, bitmap); } } @@ -1286,8 +1293,11 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, } else { holder.flavorImageView.setVisibility(View.VISIBLE); - } + if (article.flavorImageCount > 1) { + holder.flavorImagePrompt.setVisibility(View.VISIBLE); + } + } } } } @@ -1360,6 +1370,32 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, return v; } + public int pxToDp(int px) { + DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics(); + int dp = Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); + return dp; + } + + private void maybeRepositionFlavorImage(View view, Bitmap bitmap) { + RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) view.getLayoutParams(); + + int w = bitmap.getWidth(); + int h = bitmap.getHeight(); + float r = h != 0 ? (float)w/h : 0; + + //Log.d(TAG, "XYR: " + pxToDp(w) + " " + pxToDp(h) + " " + r); + + if (pxToDp(bitmap.getHeight()) < 300 || r >= 1.2) { + + lp.addRule(RelativeLayout.BELOW, R.id.headline_header); + } else { + lp.addRule(RelativeLayout.BELOW, 0); + //lp.removeRule(RelativeLayout.BELOW); + } + + view.setLayoutParams(lp); + } + private void adjustTitleTextView(int score, TextView tv, int position) { int viewType = getItemViewType(position); if (origTitleColors[viewType] == null) diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row.xml b/org.fox.ttrss/src/main/res/layout/headlines_row.xml index 58d2051c..627dba0b 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row.xml @@ -28,96 +28,102 @@ android:id="@+id/flavorImageLoadingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="center" /> - - - - + android:visibility="visible" /> + android:layout_height="wrap_content"> - - - + + + android:background="#ccffffff" + android:padding="16dp"> - - + + - - + android:layout_below="@+id/title" + android:orientation="horizontal"> + + + + + + + + + diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml index 3accc8e8..dab9b0eb 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml @@ -31,17 +31,6 @@ android:layout_height="wrap_content" android:layout_gravity="center" /> - - - - + android:layout_height="match_parent"> - - - + + + android:background="#ccffffff" + android:padding="16dp"> - - + + - - + android:layout_below="@+id/title" + android:orientation="horizontal"> + + + + + + + + + + -- cgit v1.2.3