OSDN Git Service

wip
authorKoushik Dutta <koushd@gmail.com>
Fri, 22 Feb 2013 08:25:04 +0000 (00:25 -0800)
committerKoushik Dutta <koushd@gmail.com>
Fri, 22 Feb 2013 08:25:04 +0000 (00:25 -0800)
13 files changed:
Widgets/gen/com/koushikdutta/widgets/R.java
Widgets/res/layout-large/list_content.xml
Widgets/res/layout-large/list_content_header.xml
Widgets/res/layout-large/list_item_selectable.xml [new file with mode: 0644]
Widgets/res/layout/list_content.xml
Widgets/res/layout/list_content_header.xml
Widgets/res/layout/list_item_selectable.xml
Widgets/res/values-sw720dp-land/dimens.xml
Widgets/res/values/color.xml
Widgets/src/com/koushikdutta/widgets/ActivityBaseFragment.java
Widgets/src/com/koushikdutta/widgets/ListContentFragment.java
WidgetsSample/gen/com/koushikdutta/widgets/R.java
WidgetsSample/gen/com/koushikdutta/widgets/sample/R.java

index 1d88f8f..f56688e 100644 (file)
@@ -35,17 +35,18 @@ public final class R {
         public static int list_content_right=0x7f020001;
     }
     public static final class id {
-        public static int checkbox=0x7f06000a;
-        public static int content=0x7f060000;
-        public static int empty=0x7f060004;
-        public static int footer_container=0x7f060005;
-        public static int image=0x7f060007;
-        public static int list_content_container=0x7f060002;
-        public static int list_header_title=0x7f060006;
-        public static int listview=0x7f060003;
-        public static int summary=0x7f060009;
-        public static int title=0x7f060008;
-        public static int title_container=0x7f060001;
+        public static int checkbox=0x7f06000b;
+        public static int content=0x7f060001;
+        public static int empty=0x7f060005;
+        public static int footer_container=0x7f060006;
+        public static int image=0x7f060008;
+        public static int list_content_container=0x7f060000;
+        public static int list_header_title=0x7f060007;
+        public static int listview=0x7f060004;
+        public static int summary=0x7f06000a;
+        public static int title=0x7f060009;
+        public static int title_container=0x7f060003;
+        public static int watermark=0x7f060002;
     }
     public static final class layout {
         public static int list_content=0x7f030000;
index 92e6ff7..a83f24f 100644 (file)
@@ -1,58 +1,71 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
-    android:background="@color/list_content_background"
-    android:orientation="vertical" >
+    android:background="@color/list_content_background" >
 
-    <LinearLayout
-        android:id="@+id/title_container"
-        android:layout_width="fill_parent"
+    <ImageView
+        android:id="@+id/watermark"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:orientation="vertical" />
+        android:layout_gravity="bottom|left"
+        android:alpha=".2"
+        android:padding="16dp" />
 
     <LinearLayout
-        android:id="@+id/list_content_container"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
-        android:orientation="horizontal"
-        android:paddingBottom="@dimen/activity_vertical_margin"
-        android:paddingLeft="@dimen/activity_horizontal_margin"
-        android:paddingRight="@dimen/activity_horizontal_margin"
-        android:paddingTop="@dimen/activity_vertical_margin" >
-
-        <ListView
-            android:layout_marginTop="16dp"
-            android:id="@+id/listview"
+        android:orientation="vertical" >
+
+        <LinearLayout
+            android:id="@+id/title_container"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
-            android:layout_weight="1.6180339887498948482"
-            android:background="@drawable/list_content_left" />
+            android:orientation="vertical" />
 
-        <TextView
-            android:id="@+id/empty"
+        <LinearLayout
+            android:id="@+id/list_content_container"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
-            android:layout_gravity="center"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:orientation="vertical"
-            android:textAppearance="@android:style/TextAppearance.Medium"
-            android:visibility="gone" />
+            android:orientation="horizontal"
+            android:paddingBottom="@dimen/activity_vertical_margin"
+            android:paddingLeft="@dimen/activity_horizontal_margin"
+            android:paddingRight="@dimen/activity_horizontal_margin"
+            android:paddingTop="@dimen/activity_vertical_margin" >
+
+            <ListView
+                android:id="@+id/listview"
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="16dp"
+                android:layout_weight="1.6180339887498948482"
+                android:background="@drawable/list_content_left" />
+
+            <TextView
+                android:id="@+id/empty"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:layout_gravity="center"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:orientation="vertical"
+                android:textAppearance="@android:style/TextAppearance.Medium"
+                android:visibility="gone" />
+
+            <LinearLayout
+                android:id="@+id/content"
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:layout_weight="1"
+                android:background="@drawable/list_content_right"
+                android:orientation="vertical" />
+        </LinearLayout>
 
         <LinearLayout
-            android:id="@+id/content"
+            android:id="@+id/footer_container"
             android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
-            android:layout_weight="1"
-            android:background="@drawable/list_content_right"
+            android:layout_height="wrap_content"
             android:orientation="vertical" />
     </LinearLayout>
 
-    <LinearLayout
-        android:id="@+id/footer_container"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical" />
-
-</LinearLayout>
\ No newline at end of file
+</FrameLayout>
\ No newline at end of file
index eaf13b1..e82d827 100644 (file)
@@ -1,10 +1,9 @@
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/list_header_title"
-    style="@android:style/TextAppearance.Medium"
+    style="@android:style/TextAppearance.Medium.Inverse"
     android:layout_width="fill_parent"
     android:gravity="center"
     android:padding="10dp"
     android:layout_height="wrap_content"
-    android:textColor="@android:color/white" 
     android:background="@color/holo_blue_light"
     />
diff --git a/Widgets/res/layout-large/list_item_selectable.xml b/Widgets/res/layout-large/list_item_selectable.xml
new file mode 100644 (file)
index 0000000..f5efabe
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="64dp"
+    android:orientation="horizontal" >
+
+    <View
+        android:layout_width="10dp"
+        android:layout_height="match_parent"
+        android:background="?android:attr/activatedBackgroundIndicator" />
+
+    <include layout="@layout/list_item_base" />
+
+</LinearLayout>
\ No newline at end of file
index f607af3..3bb1c84 100644 (file)
@@ -1,9 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ViewSwitcher xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/list_content_container"
     android:layout_width="fill_parent"
-    android:layout_height="fill_parent" >
+    android:layout_height="fill_parent" android:inAnimation="@android:anim/slide_in_left"
+    android:outAnimation="@android:anim/slide_out_right" >
 
-    <include layout="@layout/list_fragment" />
+    <LinearLayout
+    android:orientation="vertical"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent" >
+
+        <include layout="@layout/list_fragment" />
+    </LinearLayout>
 
     <LinearLayout
         android:id="@+id/content"
@@ -11,4 +19,4 @@
         android:layout_height="wrap_content"
         android:orientation="vertical" />
 
-</FrameLayout>
\ No newline at end of file
+</ViewSwitcher>
\ No newline at end of file
index 4326017..7f797b6 100644 (file)
@@ -1 +1,10 @@
-<include xmlns:android="http://schemas.android.com/apk/res/android" layout="@layout/list_header" />
\ No newline at end of file
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/list_header_title"
+    style="@android:style/TextAppearance.Medium.Inverse"
+    android:layout_width="fill_parent"
+    android:layout_height="wrap_content"
+    android:paddingBottom="2dip"
+    android:paddingLeft="8dip"
+    android:paddingTop="2dip"
+        android:background="@color/holo_blue_light"
+/>
index f5efabe..64bf459 100644 (file)
@@ -5,11 +5,6 @@
     android:minHeight="64dp"
     android:orientation="horizontal" >
 
-    <View
-        android:layout_width="10dp"
-        android:layout_height="match_parent"
-        android:background="?android:attr/activatedBackgroundIndicator" />
-
     <include layout="@layout/list_item_base" />
 
 </LinearLayout>
\ No newline at end of file
index eee741a..70d6948 100644 (file)
@@ -5,5 +5,5 @@
          screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
     -->
     <dimen name="activity_horizontal_margin">128dp</dimen>
-
+    
 </resources>
\ No newline at end of file
index 8750076..6caa2f9 100644 (file)
@@ -4,6 +4,6 @@
                <color name="holo_blue_dark">#ff0099cc</color>
                <color name="holo_blue_bright">#ff00ddff</color>
     
-                   <color name="list_content_background">@android:color/transparent</color>
+    <color name="list_content_background">#f1f1f1</color>
                
 </resources>
\ No newline at end of file
index cd03cf6..a127189 100644 (file)
@@ -242,11 +242,14 @@ public class ActivityBaseFragment extends Fragment {
         
     }
     
+    ViewGroup mTitleContainer;
     TextView mEmpty;
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         View ret = inflater.inflate(getListFragmentResource(), null);
-        
+
+        mTitleContainer = (ViewGroup)ret.findViewById(R.id.title_container);
+
         mListView = (ListView)ret.findViewById(R.id.listview);
         mListView.setOnItemClickListener(new OnItemClickListener() {
             @Override
@@ -347,4 +350,8 @@ public class ActivityBaseFragment extends Fragment {
     public MyAdapter getAdapter() {
         return mAdapter;
     }
+    
+    public ViewGroup getTitleContainer() {
+        return mTitleContainer;
+    }
 }
index 1e95199..4e6d2b7 100644 (file)
@@ -4,15 +4,17 @@ import android.content.res.Configuration;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
+import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ListView;
+import android.widget.ViewSwitcher;
 
 public class ListContentFragment extends ActivityBaseFragment {
     ViewGroup mContent;
     ViewGroup mContainer;
-
+    
     @Override
     protected int getListHeaderResource() {
         return R.layout.list_content_header;
@@ -47,16 +49,35 @@ public class ListContentFragment extends ActivityBaseFragment {
         ft.add(R.id.content, mCurrentContent);
         if (last != null)
             ft.remove(last);
+        if (mContainer instanceof ViewSwitcher) {
+            ViewSwitcher switcher = (ViewSwitcher)mContainer;
+            if (mContent != switcher.getCurrentView())
+                switcher.showNext();
+        }
         ft.commit();
     }
+
+    public boolean onBackPressed() {
+        if (mCurrentContent == null)
+            return false;
+        if (mContainer instanceof ViewSwitcher) {
+            ((ViewSwitcher)mContainer).showPrevious();
+            FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
+            ft.remove(mCurrentContent);
+            ft.commit();
+            mCurrentContent = null;
+            return true;
+        }
+        return false;
+    }
     
     @Override
     void onListItemClick(ListItem li) {
         super.onListItemClick(li);
-        if (mContentAdapter == null)
-            return;
-        
-        setContent(mContentAdapter.getFragment(li, mCurrentContent));
+//        if (mContentAdapter == null)
+//            return;
+//        
+//        setContent(mContentAdapter.getFragment(li, mCurrentContent));
     }
 
     @Override
@@ -78,13 +99,13 @@ public class ListContentFragment extends ActivityBaseFragment {
         super.onConfigurationChanged(newConfig);
         setPadding();
     }
-    
-    ListContentAdapter mContentAdapter;
-    public ListContentAdapter getContentAdapter() {
-        return mContentAdapter;
-    }
-    
-    public void setContentAdapter(ListContentAdapter adapter) {
-        mContentAdapter = adapter;
-    }
+//    
+//    ListContentAdapter mContentAdapter;
+//    public ListContentAdapter getContentAdapter() {
+//        return mContentAdapter;
+//    }
+//    
+//    public void setContentAdapter(ListContentAdapter adapter) {
+//        mContentAdapter = adapter;
+//    }
 }
index 52aa238..e149047 100644 (file)
@@ -8,17 +8,18 @@ package com.koushikdutta.widgets;
 
 public final class R {
        public static final class id {
-               public static final int summary = 0x7f080009;
-               public static final int content = 0x7f080000;
-               public static final int title = 0x7f080008;
-               public static final int title_container = 0x7f080001;
-               public static final int list_header_title = 0x7f080006;
-               public static final int empty = 0x7f080004;
-               public static final int checkbox = 0x7f08000a;
-               public static final int footer_container = 0x7f080005;
-               public static final int image = 0x7f080007;
-               public static final int list_content_container = 0x7f080002;
-               public static final int listview = 0x7f080003;
+               public static final int summary = 0x7f08000a;
+               public static final int content = 0x7f080001;
+               public static final int watermark = 0x7f080002;
+               public static final int title = 0x7f080009;
+               public static final int title_container = 0x7f080003;
+               public static final int list_header_title = 0x7f080007;
+               public static final int empty = 0x7f080005;
+               public static final int checkbox = 0x7f08000b;
+               public static final int footer_container = 0x7f080006;
+               public static final int image = 0x7f080008;
+               public static final int list_content_container = 0x7f080000;
+               public static final int listview = 0x7f080004;
        }
        public static final class color {
                public static final int holo_blue_bright = 0x7f040002;
index 511aab4..d445e17 100644 (file)
@@ -40,17 +40,18 @@ public final class R {
         public static final int nexusone=0x7f020006;
     }
     public static final class id {
-        public static final int checkbox=0x7f08000a;
-        public static final int content=0x7f080000;
-        public static final int empty=0x7f080004;
-        public static final int footer_container=0x7f080005;
-        public static final int image=0x7f080007;
-        public static final int list_content_container=0x7f080002;
-        public static final int list_header_title=0x7f080006;
-        public static final int listview=0x7f080003;
-        public static final int summary=0x7f080009;
-        public static final int title=0x7f080008;
-        public static final int title_container=0x7f080001;
+        public static final int checkbox=0x7f08000b;
+        public static final int content=0x7f080001;
+        public static final int empty=0x7f080005;
+        public static final int footer_container=0x7f080006;
+        public static final int image=0x7f080008;
+        public static final int list_content_container=0x7f080000;
+        public static final int list_header_title=0x7f080007;
+        public static final int listview=0x7f080004;
+        public static final int summary=0x7f08000a;
+        public static final int title=0x7f080009;
+        public static final int title_container=0x7f080003;
+        public static final int watermark=0x7f080002;
     }
     public static final class layout {
         public static final int list_content=0x7f030000;