diff options
Diffstat (limited to 'org.fox.ttrss/src')
15 files changed, 216 insertions, 190 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java index 40250046..3a5c52a5 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java @@ -27,8 +27,6 @@ import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; -import androidx.core.widget.NestedScrollView; - import org.fox.ttrss.types.Article; import org.fox.ttrss.types.Attachment; @@ -51,7 +49,7 @@ public class ArticleFragment extends StateSavedFragment { protected FrameLayout m_customViewContainer; protected View m_contentView; protected FSVideoChromeClient m_chromeClient; - protected View m_fab; + //protected View m_fab; protected int m_articleFontSize; protected int m_articleSmallFontSize; protected boolean m_acceleratedWebview = true; @@ -85,7 +83,7 @@ public class ArticleFragment extends StateSavedFragment { m_customViewContainer.setVisibility(View.VISIBLE); m_customViewContainer.addView(view); - if (m_fab != null) m_fab.setVisibility(View.GONE); + //if (m_fab != null) m_fab.setVisibility(View.GONE); m_activity.showSidebar(false); @@ -111,8 +109,8 @@ public class ArticleFragment extends StateSavedFragment { m_customViewContainer.removeView(m_customView); m_callback.onCustomViewHidden(); - if (m_fab != null && m_prefs.getBoolean("enable_article_fab", true)) - m_fab.setVisibility(View.VISIBLE); + /*if (m_fab != null && m_prefs.getBoolean("enable_article_fab", true)) + m_fab.setVisibility(View.VISIBLE);*/ m_customView = null; @@ -181,29 +179,6 @@ public class ArticleFragment extends StateSavedFragment { return view; } */ - NestedScrollView scrollView = view.findViewById(R.id.article_scrollview); - m_fab = view.findViewById(R.id.article_fab); - - if (scrollView != null && m_fab != null) { - if (m_prefs.getBoolean("enable_article_fab", true)) { - //scrollView.setOnTouchListener(new ShowHideOnScroll(m_fab)); - - m_fab.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View view) { - try { - m_activity.openUri(Uri.parse(m_article.link)); - } catch (Exception e) { - e.printStackTrace(); - m_activity.toast(R.string.error_other_error); - } - } - }); - } else { - m_fab.setVisibility(View.GONE); - } - } - m_articleFontSize = Integer.parseInt(m_prefs.getString("article_font_size_sp", "16")); m_articleSmallFontSize = Math.max(10, Math.min(18, m_articleFontSize - 2)); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java index 3452ffa8..3144fc74 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java @@ -13,6 +13,8 @@ import android.util.Log; import android.view.MenuItem; import android.view.View; +import com.google.android.material.floatingactionbutton.FloatingActionButton; + import org.fox.ttrss.types.Article; import org.fox.ttrss.types.ArticleList; import org.fox.ttrss.types.Feed; @@ -60,6 +62,21 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList findViewById(R.id.headlines_fragment).setVisibility(View.GONE); } + FloatingActionButton fab = findViewById(R.id.detail_fab); + + if (fab != null && m_prefs.getBoolean("enable_article_fab", true)) { + fab.show(); + + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if (m_activeArticle != null) { + openUri(Uri.parse(m_activeArticle.link)); + } + } + }); + } + if (savedInstanceState == null) { Intent i = getIntent(); 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 9f17abb7..b060871b 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 @@ -58,7 +58,6 @@ import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.target.GlideDrawableImageViewTarget; import com.bumptech.glide.request.target.Target; -import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; import com.google.gson.JsonElement; @@ -122,7 +121,6 @@ public class HeadlinesFragment extends StateSavedFragment { @State boolean m_compactLayoutMode = false; private RecyclerView m_list; private LinearLayoutManager m_layoutManager; - private FloatingActionButton m_fab; private MediaPlayer m_mediaPlayer; private TextureView m_activeTexture; @@ -337,8 +335,6 @@ public class HeadlinesFragment extends StateSavedFragment { m_list.setAdapter(m_adapter); - m_fab = view.findViewById(R.id.headlines_fab); - if (m_prefs.getBoolean("headlines_swipe_to_dismiss", true) && !m_prefs.getBoolean("headlines_mark_read_scroll", false) ) { ItemTouchHelper swipeHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) { @@ -412,17 +408,6 @@ public class HeadlinesFragment extends StateSavedFragment { } - if (! (getActivity() instanceof DetailActivity)) { - m_fab.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - refresh(false); - } - }); - } else { - m_fab.hide(); - } - m_list.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { @@ -459,14 +444,6 @@ public class HeadlinesFragment extends StateSavedFragment { public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); - if (! (getActivity() instanceof DetailActivity)) { - if (dy > 0) { - m_fab.hide(); - } else if (dy < 0) { - m_fab.show(); - } - } - int firstVisibleItem = m_layoutManager.findFirstVisibleItemPosition(); int lastVisibleItem = m_layoutManager.findLastVisibleItemPosition(); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java index 44a9a7c3..e4f11757 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java @@ -16,6 +16,7 @@ import android.view.Gravity; import android.view.MenuItem; import android.view.View; +import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.gson.JsonElement; import org.fox.ttrss.types.Article; @@ -205,6 +206,23 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList m_drawerLayout.openDrawer(Gravity.START); } } + + FloatingActionButton fab = findViewById(R.id.master_fab); + + if (fab != null) { + fab.show(); + + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES); + + if (hf != null && hf.isAdded()) { + hf.refresh(false); + } + } + }); + } } protected void onPostCreate(Bundle savedInstanceState) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java index f34449f5..4f328bcb 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java @@ -28,9 +28,6 @@ import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; -import androidx.core.widget.NestedScrollView; -import androidx.fragment.app.Fragment; - import org.fox.ttrss.R; import org.fox.ttrss.util.ImageCacheService; import org.jsoup.Jsoup; @@ -39,12 +36,13 @@ import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.net.MalformedURLException; -import java.net.URI; import java.net.URL; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import androidx.fragment.app.Fragment; + public class OfflineArticleFragment extends Fragment { private final String TAG = this.getClass().getSimpleName(); @@ -59,7 +57,7 @@ public class OfflineArticleFragment extends Fragment { protected FrameLayout m_customViewContainer; protected View m_contentView; protected FSVideoChromeClient m_chromeClient; - protected View m_fab; + //protected View m_fab; public void initialize(int articleId) { m_articleId = articleId; @@ -90,7 +88,7 @@ public class OfflineArticleFragment extends Fragment { m_customViewContainer.setVisibility(View.VISIBLE); m_customViewContainer.addView(view); - if (m_fab != null) m_fab.setVisibility(View.GONE); + //if (m_fab != null) m_fab.setVisibility(View.GONE); m_activity.showSidebar(false); @@ -116,8 +114,8 @@ public class OfflineArticleFragment extends Fragment { m_customViewContainer.removeView(m_customView); m_callback.onCustomViewHidden(); - if (m_fab != null && m_prefs.getBoolean("enable_article_fab", true)) - m_fab.setVisibility(View.VISIBLE); + /*if (m_fab != null && m_prefs.getBoolean("enable_article_fab", true)) + m_fab.setVisibility(View.VISIBLE);*/ m_customView = null; @@ -205,33 +203,6 @@ public class OfflineArticleFragment extends Fragment { final String link = m_cursor.getString(m_cursor.getColumnIndex("link")); - NestedScrollView scrollView = view.findViewById(R.id.article_scrollview); - m_fab = view.findViewById(R.id.article_fab); - - if (scrollView != null && m_fab != null) { - if (m_prefs.getBoolean("enable_article_fab", true)) { - //scrollView.setOnTouchListener(new ShowHideOnScroll(m_fab)); - - m_fab.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View view) { - try { - URL url = new URL(link.trim()); - String uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), - url.getPort(), url.getPath(), url.getQuery(), url.getRef()).toString(); - - m_activity.openUri(Uri.parse(uri)); - } catch (Exception e) { - e.printStackTrace(); - m_activity.toast(R.string.error_other_error); - } - } - }); - } else { - m_fab.setVisibility(View.GONE); - } - } - int articleFontSize = Integer.parseInt(m_prefs.getString("article_font_size_sp", "16")); int articleSmallFontSize = Math.max(10, Math.min(18, articleFontSize - 2)); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java index 9fcf6072..22d7e362 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java @@ -5,6 +5,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.database.Cursor; import android.database.sqlite.SQLiteStatement; +import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; import android.provider.BaseColumns; @@ -12,6 +13,8 @@ import android.util.Log; import android.view.MenuItem; import android.view.View; +import com.google.android.material.floatingactionbutton.FloatingActionButton; + import org.fox.ttrss.Application; import org.fox.ttrss.R; @@ -28,7 +31,8 @@ public class OfflineDetailActivity extends OfflineActivity implements OfflineHea private ActionBarDrawerToggle m_drawerToggle; private DrawerLayout m_drawerLayout; - + private int m_activeArticleId; + @SuppressLint("NewApi") @Override public void onCreate(Bundle savedInstanceState) { @@ -125,7 +129,29 @@ public class OfflineDetailActivity extends OfflineActivity implements OfflineHea } } - } + } + + FloatingActionButton fab = findViewById(R.id.detail_fab); + + if (fab != null && m_prefs.getBoolean("enable_article_fab", true)) { + fab.show(); + + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if (m_activeArticleId != 0) { + Cursor article = getArticleById(m_activeArticleId); + + if (article != null) { + openUri(Uri.parse(article.getString(article.getColumnIndex("link")))); + + article.close(); + } + } + } + }); + } + } protected void onPostCreate(Bundle savedInstanceState) { @@ -153,6 +179,8 @@ public class OfflineDetailActivity extends OfflineActivity implements OfflineHea @Override public void onArticleSelected(int articleId, boolean open) { + m_activeArticleId = articleId; + if (!open) { SQLiteStatement stmt = getDatabase().compileStatement( "UPDATE articles SET modified = 1, unread = 0 " + "WHERE " + BaseColumns._ID diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/DetailActivityScrollingViewBehavior.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/DetailActivityScrollingViewBehavior.java new file mode 100644 index 00000000..85e8ae4b --- /dev/null +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/DetailActivityScrollingViewBehavior.java @@ -0,0 +1,71 @@ +package org.fox.ttrss.util; + +import android.content.Context; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; +import android.util.AttributeSet; +import android.view.View; + +import com.google.android.material.appbar.AppBarLayout; +import com.google.android.material.floatingactionbutton.FloatingActionButton; + +import java.util.List; + +import androidx.annotation.NonNull; +import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.core.view.ViewCompat; + +public class DetailActivityScrollingViewBehavior extends AppBarLayout.ScrollingViewBehavior { + + private SharedPreferences m_prefs; + + public DetailActivityScrollingViewBehavior(Context context, AttributeSet attrs) { + super(context, attrs); + + m_prefs = PreferenceManager + .getDefaultSharedPreferences(context); + } + + @Override + public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) { + return super.layoutDependsOn(parent, child, dependency) || + dependency instanceof FloatingActionButton; + } + + @Override + public boolean onStartNestedScroll(@NonNull CoordinatorLayout coordinatorLayout, + @NonNull View child, @NonNull View directTargetChild, + @NonNull View target, int axes, int type) { + // Ensure we react to vertical scrolling + return axes == ViewCompat.SCROLL_AXIS_VERTICAL || + super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, axes, type); + } + + @Override + public void onNestedPreScroll(@NonNull CoordinatorLayout coordinatorLayout, + @NonNull View child, @NonNull View target, int dx, int dy, + @NonNull int[] consumed, int type) { + super.onNestedPreScroll(coordinatorLayout, child, target, dx, dy, consumed, type); + + if (m_prefs.getBoolean("enable_article_fab", true)) { + if (dy > 0) { + // User scrolled down -> hide the FAB + List<View> dependencies = coordinatorLayout.getDependencies(child); + for (View view : dependencies) { + if (view instanceof FloatingActionButton) { + ((FloatingActionButton) view).hide(); + } + } + } else if (dy < 0) { + // User scrolled up -> show the FAB + List<View> dependencies = coordinatorLayout.getDependencies(child); + for (View view : dependencies) { + if (view instanceof FloatingActionButton) { + ((FloatingActionButton) view).show(); + } + } + } + } + + } +}
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml b/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml index c89f3baa..9ba663f6 100644 --- a/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml +++ b/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml @@ -2,6 +2,7 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:fitsSystemWindows="true" + xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <include layout="@layout/toolbar" android:id="@+id/toolbar" /> @@ -29,16 +30,30 @@ android:background="?feedlistBackground" > </FrameLayout> - <FrameLayout + <androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="0dp" android:layout_weight="0.75" - android:id="@+id/headlines_fragment" - android:background="?headlinesBackground" android:elevation="4dp" + android:background="?headlinesBackground" android:layout_height="match_parent"> - </FrameLayout> - </LinearLayout> + <FrameLayout + android:layout_width="match_parent" + android:id="@+id/headlines_fragment" + app:layout_behavior=".util.FabAwareScrollingViewBehavior" + android:layout_height="match_parent"/> + + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/master_fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:visibility="gone" + android:src="@drawable/ic_refresh" + android:layout_margin="16dp" /> + </androidx.coordinatorlayout.widget.CoordinatorLayout> + + </LinearLayout> </RelativeLayout> diff --git a/org.fox.ttrss/src/main/res/layout-sw600dp-port/activity_detail.xml b/org.fox.ttrss/src/main/res/layout-sw600dp-port/activity_detail.xml deleted file mode 100644 index 47c84639..00000000 --- a/org.fox.ttrss/src/main/res/layout-sw600dp-port/activity_detail.xml +++ /dev/null @@ -1,43 +0,0 @@ -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/headlines" - android:fitsSystemWindows="true" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - - <include layout="@layout/toolbar" android:id="@+id/toolbar" /> - - <FrameLayout - android:id="@+id/sw600dp_anchor" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:visibility="gone" > - </FrameLayout> - - <LinearLayout - android:id="@+id/fragment_container" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:baselineAligned="false" - android:orientation="horizontal" - android:layout_below="@+id/toolbar"> - - <FrameLayout - android:paddingRight="4dp" - android:id="@+id/headlines_fragment" - android:layout_width="0dp" - android:layout_height="match_parent" - android:layout_weight="0.4" - android:background="?headlinesBackground" > - </FrameLayout> - - <FrameLayout - android:id="@+id/article_fragment" - android:layout_width="0dp" - android:layout_height="match_parent" - android:layout_weight="0.6" - android:elevation="4dp" - android:background="?articleBackground" > - </FrameLayout> - </LinearLayout> - -</RelativeLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_detail.xml b/org.fox.ttrss/src/main/res/layout-sw600dp/activity_detail.xml index 0e904edc..95215992 100644 --- a/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_detail.xml +++ b/org.fox.ttrss/src/main/res/layout-sw600dp/activity_detail.xml @@ -30,14 +30,30 @@ android:background="?headlinesBackground" > </FrameLayout> - <FrameLayout - android:id="@+id/article_fragment" + <androidx.coordinatorlayout.widget.CoordinatorLayout + xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="0dp" - android:layout_height="match_parent" android:layout_weight="0.7" android:elevation="4dp" - android:background="?articleBackground" > - </FrameLayout> + android:background="?articleBackground" + android:layout_height="match_parent"> + + <FrameLayout + android:layout_width="match_parent" + android:id="@+id/article_fragment" + app:layout_behavior=".util.DetailActivityScrollingViewBehavior" + android:layout_height="match_parent"/> + + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/detail_fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:visibility="gone" + android:src="@drawable/ic_action_web_site" + android:layout_margin="16dp" /> + + </androidx.coordinatorlayout.widget.CoordinatorLayout> </LinearLayout> </LinearLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/activity_detail.xml b/org.fox.ttrss/src/main/res/layout/activity_detail.xml index c35ab296..8f36bbd6 100644 --- a/org.fox.ttrss/src/main/res/layout/activity_detail.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_detail.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent"> +xmlns:android="http://schemas.android.com/apk/res/android" +android:layout_width="match_parent" +android:layout_height="match_parent"> - <include layout="@layout/activity_detail_phone" /> +<include layout="@layout/activity_detail_phone" /> </FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml b/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml index 157ad794..6d9a8dbd 100644 --- a/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml @@ -10,6 +10,15 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/detail_fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:visibility="gone" + android:src="@drawable/ic_action_web_site" + android:layout_margin="16dp" /> + <com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> @@ -20,7 +29,7 @@ <FrameLayout android:id="@+id/article_fragment" - app:layout_behavior="@string/appbar_scrolling_view_behavior" + app:layout_behavior=".util.DetailActivityScrollingViewBehavior" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?articleBackground"> diff --git a/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml b/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml index d63d9fb9..6ae5064f 100644 --- a/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml @@ -10,6 +10,15 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/master_fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:visibility="gone" + android:src="@drawable/ic_refresh" + android:layout_margin="16dp" /> + <com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content"> @@ -20,29 +29,13 @@ <FrameLayout android:id="@+id/headlines_fragment" - app:layout_behavior="@string/appbar_scrolling_view_behavior" + app:layout_behavior=".util.FabAwareScrollingViewBehavior" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?headlinesBackground" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> - <!-- <FrameLayout - android:fitsSystemWindows="true" - android:animateLayoutChanges="true" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <FrameLayout - android:id="@+id/headlines_fragment" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="?headlinesBackground" /> - - <include layout="@layout/toolbar" android:id="@+id/toolbar" /> - - </FrameLayout> --> - <org.fox.ttrss.util.ScrimInsetsFrameLayout xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/scrimInsetsFrameLayout" diff --git a/org.fox.ttrss/src/main/res/layout/fragment_article.xml b/org.fox.ttrss/src/main/res/layout/fragment_article.xml index d14f6d88..2226cffe 100755 --- a/org.fox.ttrss/src/main/res/layout/fragment_article.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_article.xml @@ -15,16 +15,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - <com.google.android.material.floatingactionbutton.FloatingActionButton - android:id="@+id/article_fab" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:layout_marginBottom="72dp" - android:layout_marginRight="16dp" - android:src="@drawable/ic_action_web_site" - /> - <com.google.android.material.appbar.AppBarLayout android:background="?articleHeader" android:elevation="0dp" @@ -133,7 +123,7 @@ <androidx.core.widget.NestedScrollView android:id="@+id/article_scrollview" android:scrollbars="vertical|horizontal" - app:layout_behavior=".util.FabAwareScrollingViewBehavior" + app:layout_behavior="@string/appbar_scrolling_view_behavior" android:layout_width="match_parent" android:layout_height="match_parent"> diff --git a/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml b/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml index 647afce8..9f09290f 100755 --- a/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml @@ -1,10 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/headlines_fragment" - android:background="?android:colorBackground" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:id="@+id/headlines_fragment" + android:background="?android:colorBackground" + android:layout_width="fill_parent" + android:layout_height="fill_parent"> <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/headlines_swipe_container" @@ -19,14 +18,4 @@ android:layout_height="match_parent" /> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> - <com.google.android.material.floatingactionbutton.FloatingActionButton - android:id="@+id/headlines_fab" - app:layout_anchor="@id/headlines_fragment" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:src="@drawable/ic_refresh" - android:layout_marginBottom="72dp" - android:layout_marginRight="16dp" /> - </FrameLayout>
\ No newline at end of file |