summaryrefslogtreecommitdiff
path: root/src/org
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-12-31 12:49:30 +0400
committerAndrew Dolgov <[email protected]>2012-12-31 12:49:30 +0400
commit4e667479aec485b2f5b58b76e679d2400d383f7e (patch)
tree0340c7591ba39c564dcac5f3f9372203e5a59ca7 /src/org
parent369ad45bf55f0fa982f6342ce60cd179f20cd6af (diff)
layout improvements, add missing files
Diffstat (limited to 'src/org')
-rw-r--r--src/org/fox/ttrss/ArticleFragment.java4
-rw-r--r--src/org/fox/ttrss/FeedsActivity.java24
-rw-r--r--src/org/fox/ttrss/HeadlinesActivity.java6
-rw-r--r--src/org/fox/ttrss/offline/OfflineActivity.java2
-rw-r--r--src/org/fox/ttrss/offline/OfflineFeedsActivity.java49
5 files changed, 75 insertions, 10 deletions
diff --git a/src/org/fox/ttrss/ArticleFragment.java b/src/org/fox/ttrss/ArticleFragment.java
index 9e3734e8..86fc4472 100644
--- a/src/org/fox/ttrss/ArticleFragment.java
+++ b/src/org/fox/ttrss/ArticleFragment.java
@@ -126,6 +126,10 @@ public class ArticleFragment extends Fragment implements GestureDetector.OnDoubl
else
titleStr = m_article.title;
+ if (!m_activity.isSmallScreen()) {
+ title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 21f);
+ }
+
title.setText(titleStr);
title.setPaintFlags(title.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
title.setOnClickListener(new OnClickListener() {
diff --git a/src/org/fox/ttrss/FeedsActivity.java b/src/org/fox/ttrss/FeedsActivity.java
index 7d95e317..58f8eda6 100644
--- a/src/org/fox/ttrss/FeedsActivity.java
+++ b/src/org/fox/ttrss/FeedsActivity.java
@@ -10,6 +10,7 @@ import org.fox.ttrss.util.AppRater;
import android.view.ViewGroup;
import android.animation.LayoutTransition;
+import android.animation.ObjectAnimator;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -21,6 +22,7 @@ import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
+import android.widget.LinearLayout;
public class FeedsActivity extends OnlineActivity implements HeadlinesEventListener {
private final String TAG = this.getClass().getSimpleName();
@@ -97,7 +99,7 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
} else {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
-
+
if (m_prefs.getBoolean("enable_cats", false)) {
ft.replace(R.id.feeds_fragment, new FeedCategoriesFragment(), FRAG_CATS);
} else {
@@ -115,7 +117,13 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
}
} else { // savedInstanceState != null
m_actionbarUpEnabled = savedInstanceState.getBoolean("actionbarUpEnabled");
-
+
+ if (!isSmallScreen()) {
+ // temporary hack because FeedsActivity doesn't track whether active feed is open
+ LinearLayout container = (LinearLayout) findViewById(R.id.fragment_container);
+ container.setWeightSum(3f);
+ }
+
if (!isCompatMode() && m_actionbarUpEnabled) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@@ -175,7 +183,17 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
ft.replace(R.id.headlines_fragment, new LoadingFragment(), null);
ft.commit();
-
+
+ if (!isCompatMode()) {
+ LinearLayout container = (LinearLayout) findViewById(R.id.fragment_container);
+ float wSum = container.getWeightSum();
+ if (wSum <= 2.0f) {
+ ObjectAnimator anim = ObjectAnimator.ofFloat(container, "weightSum", wSum, 3.0f);
+ anim.setDuration(200);
+ anim.start();
+ }
+ }
+
final Feed fFeed = feed;
new Handler().postDelayed(new Runnable() {
diff --git a/src/org/fox/ttrss/HeadlinesActivity.java b/src/org/fox/ttrss/HeadlinesActivity.java
index 81dd1043..81c4ca8c 100644
--- a/src/org/fox/ttrss/HeadlinesActivity.java
+++ b/src/org/fox/ttrss/HeadlinesActivity.java
@@ -121,7 +121,11 @@ public class HeadlinesActivity extends OnlineActivity implements HeadlinesEventL
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ finish();
+ overridePendingTransition(0, R.anim.right_slide_out);
+ return true;
default:
Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId());
return super.onOptionsItemSelected(item);
diff --git a/src/org/fox/ttrss/offline/OfflineActivity.java b/src/org/fox/ttrss/offline/OfflineActivity.java
index f7ee9768..608b9bcf 100644
--- a/src/org/fox/ttrss/offline/OfflineActivity.java
+++ b/src/org/fox/ttrss/offline/OfflineActivity.java
@@ -76,6 +76,8 @@ public class OfflineActivity extends CommonActivity {
if (m_prefs.getString("theme", "THEME_DARK").equals("THEME_DARK")) {
setTheme(R.style.DarkTheme);
+ } else if (m_prefs.getString("theme", "THEME_DARK").equals("THEME_SEPIA")) {
+ setTheme(R.style.SepiaTheme);
} else {
setTheme(R.style.LightTheme);
}
diff --git a/src/org/fox/ttrss/offline/OfflineFeedsActivity.java b/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
index 07bedc37..1b35d9e1 100644
--- a/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
+++ b/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
@@ -1,12 +1,16 @@
package org.fox.ttrss.offline;
import org.fox.ttrss.GlobalState;
+import org.fox.ttrss.LoadingFragment;
import org.fox.ttrss.R;
+import android.animation.LayoutTransition;
+import android.animation.ObjectAnimator;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.database.sqlite.SQLiteStatement;
import android.os.Bundle;
+import android.os.Handler;
import android.preference.PreferenceManager;
import android.provider.BaseColumns;
import android.support.v4.app.Fragment;
@@ -14,6 +18,8 @@ import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
public class OfflineFeedsActivity extends OfflineActivity implements OfflineHeadlinesEventListener {
private final String TAG = this.getClass().getSimpleName();
@@ -96,6 +102,16 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
findViewById(R.id.loading_container).setVisibility(View.GONE);
initMenu();
+
+ /* if (!isSmallScreen()) {
+ LinearLayout container = (LinearLayout) findViewById(R.id.fragment_container);
+ container.setWeightSum(3f);
+ } */
+
+ if (!isCompatMode() && !isSmallScreen()) {
+ ((ViewGroup)findViewById(R.id.headlines_fragment)).setLayoutTransition(new LayoutTransition());
+ ((ViewGroup)findViewById(R.id.feeds_fragment)).setLayoutTransition(new LayoutTransition());
+ }
}
public void openFeedArticles(int feedId, boolean isCat) {
@@ -189,7 +205,7 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
onFeedSelected(feedId, false, true);
}
- public void onFeedSelected(int feedId, boolean isCat, boolean open) {
+ public void onFeedSelected(final int feedId, final boolean isCat, boolean open) {
if (open) {
if (isSmallScreen()) {
@@ -201,13 +217,34 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
startActivityForResult(intent, 0);
} else {
- FragmentTransaction ft = getSupportFragmentManager()
- .beginTransaction();
+ /* if (!isCompatMode()) {
+ LinearLayout container = (LinearLayout) findViewById(R.id.fragment_container);
+ float wSum = container.getWeightSum();
+ if (wSum <= 2.0f) {
+ ObjectAnimator anim = ObjectAnimator.ofFloat(container, "weightSum", wSum, 3.0f);
+ anim.setDuration(200);
+ anim.start();
+ }
+ } */
- OfflineHeadlinesFragment hf = new OfflineHeadlinesFragment(feedId, isCat);
- ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES);
+ // ^ no idea why the animation hangs half the time :(
+
+ LinearLayout container = (LinearLayout) findViewById(R.id.fragment_container);
+ container.setWeightSum(3f);
+
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ FragmentTransaction ft = getSupportFragmentManager()
+ .beginTransaction();
+
+ OfflineHeadlinesFragment hf = new OfflineHeadlinesFragment(feedId, isCat);
+ ft.replace(R.id.headlines_fragment, hf, FRAG_HEADLINES);
+
+ ft.commit();
+ }
+ }, 10);
- ft.commit();
}
}
}