From fb7054eb18d45ea641bf1e7177ad4ae41a7d52d2 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 9 Sep 2011 15:58:11 +0400 Subject: experimental animation stuff --- src/org/fox/ttrss/ArticleFragment.java | 49 ++++++++++++++++++++++++++++++ src/org/fox/ttrss/HeadlinesFragment.java | 52 ++++++++++++++++++++++++++++++-- 2 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 src/org/fox/ttrss/ArticleFragment.java (limited to 'src') diff --git a/src/org/fox/ttrss/ArticleFragment.java b/src/org/fox/ttrss/ArticleFragment.java new file mode 100644 index 00000000..ebd573ad --- /dev/null +++ b/src/org/fox/ttrss/ArticleFragment.java @@ -0,0 +1,49 @@ +package org.fox.ttrss; + +import java.util.Timer; + +import org.fox.ttrss.FeedsFragment.FeedsListAdapter; + +import android.app.Activity; +import android.app.Fragment; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AbsListView; +import android.widget.ListView; + +public class ArticleFragment extends Fragment { + SharedPreferences m_prefs; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + if (savedInstanceState != null) { + // + } + + View view = inflater.inflate(R.layout.article_fragment, container, false); + + return view; + } + + @Override + public void onDestroy() { + super.onDestroy(); + } + + @Override + public void onSaveInstanceState (Bundle out) { + super.onSaveInstanceState(out); + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + m_prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); + } + +} diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java index cc1b0aac..367cda4d 100644 --- a/src/org/fox/ttrss/HeadlinesFragment.java +++ b/src/org/fox/ttrss/HeadlinesFragment.java @@ -2,19 +2,25 @@ package org.fox.ttrss; import android.app.Activity; import android.app.Fragment; +import android.app.FragmentTransaction; import android.content.SharedPreferences; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.preference.PreferenceManager; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; import android.widget.AbsListView; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import android.widget.SimpleCursorAdapter; -public class HeadlinesFragment extends Fragment { +public class HeadlinesFragment extends Fragment implements OnItemClickListener { private final String TAG = this.getClass().getSimpleName(); protected int m_feedId; protected SharedPreferences m_prefs; @@ -39,9 +45,9 @@ public class HeadlinesFragment extends Fragment { if (list != null) { list.setAdapter(m_adapter); - //list.setOnItemClickListener(this); + list.setOnItemClickListener(this); list.setEmptyView(view.findViewById(R.id.no_headlines)); - //list.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); + list.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); } return view; @@ -66,4 +72,44 @@ public class HeadlinesFragment extends Fragment { m_feedId = feedId; } + @Override + public void onItemClick(AdapterView av, View view, int position, long id) { + ListView list = (ListView)getActivity().findViewById(R.id.headlines); + + if (list != null) { + Cursor cursor = (Cursor) list.getItemAtPosition(position); + + if (cursor != null) { + int articleId = (int) cursor.getLong(0); + + Log.d(TAG, "clicked on article " + articleId); + + viewArticle(articleId); + + } + } + + } + + private void viewArticle(int articleId) { + FragmentTransaction ft = getFragmentManager().beginTransaction(); + ArticleFragment frag = new ArticleFragment(); + + //frag.initialize(articleId); + + Animation a = AnimationUtils.loadAnimation(getActivity(), R.anim.test); + a.reset(); + View v = getView().findViewById(R.id.headlines_container); + v.clearAnimation(); + v.startAnimation(a); + + + ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out); + ft.replace(R.id.article_container, frag); + ft.commit(); + + //m_adapter.notifyDataSetChanged(); + + } + } -- cgit v1.2.3-54-g00ecf