make article fragment more materal-y; simplify themes a bit

This commit is contained in:
Andrew Dolgov 2014-11-05 22:10:01 +03:00
parent 3de2528826
commit 68ff9e90e7
5 changed files with 90 additions and 124 deletions

View File

@ -4,14 +4,12 @@ import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.text.Html;
import android.util.Log;
import android.util.TypedValue;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
@ -96,7 +94,7 @@ public class ArticleFragment extends Fragment {
if (m_article != null) {
if (!useTitleWebView) {
/* if (!useTitleWebView) {
View scroll = view.findViewById(R.id.article_scrollview);
if (scroll != null) {
@ -116,7 +114,7 @@ public class ArticleFragment extends Fragment {
}
}
}
} */
int articleFontSize = Integer.parseInt(m_prefs.getString("article_font_size_sp", "16"));
int articleSmallFontSize = Math.max(10, Math.min(18, articleFontSize - 2));
@ -247,29 +245,23 @@ public class ArticleFragment extends Fragment {
WebSettings ws = web.getSettings();
ws.setSupportZoom(false);
TypedValue tv = new TypedValue();
getActivity().getTheme().resolveAttribute(R.attr.linkColor, tv, true);
String theme = m_prefs.getString("theme", CommonActivity.THEME_DEFAULT);
if (CommonActivity.THEME_DARK.equals(theme)) {
cssOverride = "body { background : transparent; color : #e0e0e0}";
} else {
cssOverride = "body { background : transparent; }";
}
if (useTitleWebView || android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
web.setBackgroundColor(Color.TRANSPARENT);
} else {
// seriously?
web.setBackgroundColor(Color.argb(1, 0, 0, 0));
}
String hexColor = String.format("#%06X", (0xFFFFFF & tv.data));
cssOverride += " a:link {color: "+hexColor+";} a:visited { color: "+hexColor+";}";
TypedValue tvBackground = new TypedValue();
getActivity().getTheme().resolveAttribute(R.attr.articleBackground, tvBackground, true);
String backgroundHexColor = String.format("#%06X", (0xFFFFFF & tvBackground.data));
cssOverride = "body { background : "+ backgroundHexColor+"; }";
if (m_activity.isDarkTheme()) {
cssOverride += "body { color : #e0e0e0; }";
}
TypedValue tvLinkColor = new TypedValue();
getActivity().getTheme().resolveAttribute(R.attr.linkColor, tvLinkColor, true);
String linkHexColor = String.format("#%06X", (0xFFFFFF & tvLinkColor.data));
cssOverride += " a:link {color: "+linkHexColor+";} a:visited { color: "+linkHexColor+";}";
cssOverride += " table { width : 100%; }";
String articleContent = m_article.content != null ? m_article.content : "";
Document doc = Jsoup.parse(articleContent);
@ -298,6 +290,7 @@ public class ArticleFragment extends Fragment {
"<style type=\"text/css\">" +
"body { padding : 0px; margin : 0px; line-height : 130%; }" +
"img { max-width : 100%; width : auto; height : auto; }" +
" table { width : 100%; }" +
cssOverride +
"</style>" +
"</head>" +

View File

@ -16,7 +16,9 @@
android:orientation="vertical" >
<LinearLayout
android:padding="8dp"
android:id="@+id/article_header"
android:background="?articleHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
@ -29,7 +31,7 @@
android:layout_weight="1"
android:paddingTop="4dp"
android:text="My simple headline"
android:textColor="?linkColor"
android:textColor="?articleHeaderTextColor"
android:textSize="18sp" />
<TextView
@ -40,7 +42,7 @@
android:fontFamily="sans-serif-light"
android:paddingTop="4dp"
android:text="24 comments"
android:textColor="?linkColor"
android:textColor="?articleHeaderTextColor"
android:textSize="12sp" />
<LinearLayout
@ -59,7 +61,7 @@
android:singleLine="true"
android:fontFamily="sans-serif-light"
android:text="Example Feed"
android:textColor="?headlineSecondaryTextColor"
android:textColor="?articleHeaderTextColor"
android:textSize="12sp" />
<TextView
@ -72,7 +74,7 @@
android:fontFamily="sans-serif-light"
android:text="Jan 01, 12:00"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?headlineSecondaryTextColor"
android:textColor="?articleHeaderTextColor"
android:textSize="12sp" />
</LinearLayout>
@ -87,11 +89,11 @@
android:background="?articleNoteBackground"
android:textColor="?articleNoteTextColor"
android:textSize="13sp"
android:padding="2dp"
android:layout_marginBottom="6dp"
android:padding="8dp"
android:text="[Article note]" />
<org.fox.ttrss.util.LessBrokenWebView
android:layout_margin="8dp"
android:id="@+id/article_content"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

View File

@ -27,4 +27,6 @@
<attr name="articleNoteTextColor" format="reference|color" />
<attr name="statusBarHintColor" format="reference|color" />
<attr name="parentBtnBackground" format="reference|color" />
<attr name="articleHeader" format="reference|color" />
<attr name="articleHeaderTextColor" format="reference|color" />
</resources>

View File

@ -5,7 +5,6 @@
<color name="headlines_light">#ffffff</color>
<color name="headlines_sepia">#EAE2DC</color>
<color name="feeds_sepia">#D3C6BA</color>
<color name="ics_cyan">#33b5e5</color>
<color name="unread_counter_background">#88b0f0</color>
<color name="unread_counter_background_dark">#63758E</color>
<color name="unread_counter_background_sepia">#C46262</color>

View File

@ -1,120 +1,90 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="LightThemeBase" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="statusBarHintColor">#6482AF</item>
<item name="smallScreenBackground">#eeeeee</item>
<item name="ttrssHorizontalDivider">@android:drawable/divider_horizontal_bright</item>
<item name="feedlistBackground"><!-- #e0e0e0 -->@drawable/shadow_feeds</item>
<item name="unreadCounterColor">#909090</item>
<item name="headlinesBackground"><!-- #f0f0f0 -->@drawable/shadow_headlines</item>
<item name="headlinesBackgroundSolid">#f0f0f0</item>
<item name="articleBackground">@android:color/transparent</item>
<item name="headlineSelectedBackground">#88b0f0</item>
<item name="headlineUnreadBackground">@android:color/white</item>
<item name="headlineNormalBackground">#f5f5f5</item>
<item name="feedsSelectedBackground">#526a8e</item>
<item name="feedlistTextColor">@android:color/primary_text_light</item>
<item name="feedlistSelectedTextColor">#ffffff</item>
<item name="headlineTextColor">@android:color/secondary_text_light</item>
<item name="headlineUnreadTextColor">@android:color/primary_text_light</item>
<item name="headlineSelectedTextColor">#ffffff</item>
<item name="headlineExcerptTextColor">@android:color/secondary_text_light</item>
<item name="headlineSecondaryTextColor">#909090</item>
<item name="headlineSelectedSecondaryTextColor">#606060</item>
<item name="headlineSelectedExcerptTextColor">@android:color/secondary_text_light</item>
<style name="LightTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="statusBarHintColor">?colorPrimaryDark</item>
<item name="smallScreenBackground">#eeeeee</item>
<item name="ttrssHorizontalDivider">@android:drawable/divider_horizontal_bright</item>
<item name="feedlistBackground"><!-- #e0e0e0 -->@drawable/shadow_feeds</item>
<item name="unreadCounterColor">#909090</item>
<item name="headlinesBackground"><!-- #f0f0f0 -->@drawable/shadow_headlines</item>
<item name="headlinesBackgroundSolid">#f0f0f0</item>
<item name="articleBackground">@android:color/white</item>
<item name="headlineSelectedBackground">?colorAccent</item>
<item name="headlineUnreadBackground">@android:color/white</item>
<item name="headlineNormalBackground">#f5f5f5</item>
<item name="feedsSelectedBackground">?colorPrimaryDark</item>
<item name="feedlistTextColor">@android:color/primary_text_light</item>
<item name="feedlistSelectedTextColor">#ffffff</item>
<item name="headlineTextColor">@android:color/secondary_text_light</item>
<item name="headlineUnreadTextColor">@android:color/primary_text_light</item>
<item name="headlineSelectedTextColor">#ffffff</item>
<item name="headlineExcerptTextColor">@android:color/secondary_text_light</item>
<item name="headlineSecondaryTextColor">#909090</item>
<item name="headlineSelectedSecondaryTextColor">#606060</item>
<item name="headlineSelectedExcerptTextColor">@android:color/secondary_text_light</item>
<item name="headlineTitleHighScoreUnreadTextColor">#008000</item>
<item name="linkColor">#4684ff</item>
<item name="loadingBackground">@android:color/white</item>
<item name="articleNoteTextColor">#9a8c59</item>
<item name="articleNoteBackground">#fff7d5</item>
<item name="linkColor">?colorPrimary</item>
<item name="loadingBackground">@android:color/white</item>
<item name="articleNoteTextColor">#9a8c59</item>
<item name="articleNoteBackground">#fff7d5</item>
<item name="parentBtnBackground">#dddddd</item>
<item name="articleHeader">?colorPrimaryDark</item>
<item name="articleHeaderTextColor">@android:color/white</item>
<item name="colorPrimary">#6482af</item>
<item name="colorPrimaryDark">#526A8E</item>
<item name="colorAccent">#88b0f0</item>
</style>
<style name="LightTheme" parent="LightThemeBase">
<item name="colorAccent">?colorPrimary</item>
</style>
<style name="SepiaThemeBase" parent="LightTheme">
<item name="statusBarHintColor">#7F3F3F</item>
<item name="smallScreenBackground">@drawable/paper_sepia</item>
<item name="feedlistBackground">@drawable/shadow_feeds_sepia</item>
<item name="headlinesBackground">@drawable/shadow_headlines_sepia</item>
<item name="headlinesBackgroundSolid">@drawable/paper_sepia</item>
<item name="headlineSelectedBackground">#E5B0A0</item>
<item name="feedsSelectedBackground">#7F3F3F</item>
<item name="articleBackground">@drawable/paper_sepia</item>
<item name="feedlistTextColor">#35281C</item>
<item name="linkColor">#C46262</item>
<style name="SepiaTheme" parent="LightTheme">
<item name="smallScreenBackground">@drawable/paper_sepia</item>
<item name="feedlistBackground">@drawable/shadow_feeds_sepia</item>
<item name="headlinesBackground">@drawable/shadow_headlines_sepia</item>
<item name="headlinesBackgroundSolid">@drawable/paper_sepia</item>
<item name="feedlistTextColor">#35281C</item>
<item name="linkColor">?colorPrimary</item>
<item name="colorPrimary">#C46262</item>
<item name="colorPrimaryDark">#7F3F3F</item>
<item name="colorAccent">#E5B0A0</item>
</style>
<style name="SepiaTheme" parent="SepiaThemeBase">
</style>
<style name="HoloThemeBase" parent="Theme.AppCompat">
<item name="statusBarHintColor">@android:color/black</item>
<item name="smallScreenBackground">@android:color/transparent</item>
<item name="ttrssHorizontalDivider">@android:drawable/divider_horizontal_dark</item>
<item name="feedlistBackground">@android:color/transparent</item>
<item name="unreadCounterColor">#909090</item>
<item name="headlinesBackground">@android:color/black</item>
<item name="headlinesBackgroundSolid">@android:color/black</item>
<item name="articleBackground">@android:color/black</item>
<item name="headlineSelectedBackground">@color/ics_cyan</item>
<item name="headlineUnreadBackground">#202020</item>
<item name="headlineNormalBackground">#151515</item>
<item name="feedsSelectedBackground">@color/ics_cyan</item>
</style>
<style name="DarkTheme" parent="Theme.AppCompat">
<item name="statusBarHintColor">?colorPrimaryDark</item>
<item name="unreadCounterColor">#909090</item>
<item name="headlineNormalBackground">#151515</item>
<item name="feedlistTextColor">@android:color/primary_text_dark</item>
<item name="feedlistSelectedTextColor">@android:color/black</item>
<item name="headlineTextColor">@android:color/secondary_text_dark</item>
<item name="headlineUnreadTextColor">@android:color/primary_text_dark</item>
<item name="headlineSelectedTextColor">@android:color/white</item>
<item name="headlineExcerptTextColor">@android:color/secondary_text_dark</item>
<item name="headlineSelectedExcerptTextColor">@android:color/black</item>
<item name="headlineSecondaryTextColor">#909090</item>
<item name="headlineSelectedSecondaryTextColor">#404040</item>
<item name="headlineTitleHighScoreUnreadTextColor">#00FF00</item>
<item name="linkColor">@color/ics_cyan</item>
<item name="linkColor">?colorPrimary</item>
<item name="loadingBackground">@android:color/black</item>
<item name="articleNoteTextColor">@android:color/secondary_text_dark</item>
<item name="articleNoteBackground">#303030</item>
<item name="articleNoteTextColor">@android:color/secondary_text_dark</item>
<item name="articleNoteBackground">#303030</item>
<item name="parentBtnBackground">#101010</item>
</style>
<style name="HoloTheme" parent="HoloThemeBase">
</style>
<style name="DarkThemeBase" parent="HoloTheme">
<item name="statusBarHintColor">#51698E</item>
<item name="smallScreenBackground">@color/feeds_dark_gray</item>
<item name="ttrssHorizontalDivider">@android:drawable/divider_horizontal_dark</item>
<item name="feedlistBackground">@drawable/shadow_feeds_gray</item>
<item name="headlinesBackground">@drawable/shadow_headlines_gray</item>
<item name="headlinesBackgroundSolid">@color/feeds_dark_gray</item>
<item name="articleBackground">@color/feeds_dark_gray</item>
<item name="headlineSelectedBackground">#51698E</item>
<item name="headlineUnreadBackground">#383c42</item>
<item name="feedsSelectedBackground">#445877</item>
<item name="smallScreenBackground">@color/feeds_dark_gray</item>
<item name="ttrssHorizontalDivider">@android:drawable/divider_horizontal_dark</item>
<item name="feedlistBackground">@drawable/shadow_feeds_gray</item>
<item name="headlinesBackground">@drawable/shadow_headlines_gray</item>
<item name="headlinesBackgroundSolid">@color/feeds_dark_gray</item>
<item name="articleBackground">@color/feeds_dark_gray</item>
<item name="headlineSelectedBackground">?colorPrimary</item>
<item name="headlineUnreadBackground">#383c42</item>
<item name="feedsSelectedBackground">#445877</item>
<item name="feedlistSelectedTextColor">@android:color/primary_text_dark</item>
<item name="headlineSelectedExcerptTextColor">@android:color/secondary_text_dark</item>
<item name="headlineTextColor">@android:color/secondary_text_dark</item>
<item name="headlineSelectedSecondaryTextColor">#a0a0a0</item>
<item name="articleHeader">?colorPrimaryDark</item>
<item name="articleHeaderTextColor">@android:color/white</item>
<item name="colorPrimary">#51698E</item>
<item name="colorPrimaryDark">#445877</item>
<item name="colorAccent">#88b0f0</item>
</style>
<style name="DarkTheme" parent="DarkThemeBase">
</style>
<style name="DarkDialogTheme" parent="android:Theme">
</style>
<style name="DarkDialogTheme" parent="android:Theme"></style>
</resources>