Browse Source

added landscape stuff, landscape for statistics

Julien Clauter 10 years ago
parent
commit
985a619d65

+ 147 - 0
res/layout-land/fragment_statistics.xml

@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@android:color/transparent"
+    >
+
+
+
+
+    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_above="@+id/toolbar_layout"
+        android:paddingLeft="4dp"
+        android:paddingRight="4dp"
+        android:weightSum="2.">
+
+        <RelativeLayout
+            android:layout_width="fill_parent"
+            android:layout_height="fill_parent"
+            android:id="@+id/plot_parent_layout"
+            android:layout_weight="0.9">
+
+            <!-- TITLE LAYOUT -->
+            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                android:orientation="vertical"
+                android:layout_height="40dp"
+                android:layout_width="match_parent"
+                android:id="@+id/title_layout"
+                android:padding="5dp"
+                android:layout_alignParentTop="true"
+                android:layout_alignParentLeft="true"
+                android:layout_alignParentStart="true">
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    android:text="Title"
+                    android:textAlignment="center"
+                    android:id="@+id/title_text_view" />
+            </LinearLayout>
+            <!-- PLOT LAYOUT -->
+            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                android:orientation="vertical"
+                android:layout_height="match_parent"
+                android:layout_width="match_parent"
+                android:id="@+id/plot_layout"
+                android:padding="2dp"
+                android:layout_below="@+id/title_layout"
+                >
+            </LinearLayout>
+
+        </RelativeLayout>
+
+
+        <!-- LIST LAYOUT -->
+        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+            android:layout_height="match_parent"
+            android:layout_width="match_parent"
+            android:id="@+id/list_parent_layout"
+            android:paddingTop="5dp"
+            android:layout_weight="1.1"
+            >
+
+            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                android:orientation="horizontal"
+                android:layout_height="30dp"
+                android:layout_width="match_parent"
+                android:id="@+id/table_header_layout"
+                android:weightSum="1"
+                android:paddingLeft="2dp"
+                android:paddingRight="2dp">
+
+                <TextView
+                    android:layout_width="fill_parent"
+                    android:layout_height="fill_parent"
+                    android:textAppearance="?android:attr/textAppearanceSmall"
+                    android:text="table header title"
+                    android:id="@+id/table_header_title_textview"
+                    android:gravity="bottom|left"
+                    android:textAlignment="viewStart"
+                    android:paddingLeft="75dp"
+                    android:layout_weight="0.4"
+                    android:textStyle="bold" />
+                <TextView
+                    android:layout_width="fill_parent"
+                    android:layout_height="fill_parent"
+                    android:textAppearance="?android:attr/textAppearanceSmall"
+                    android:text="value"
+                    android:id="@+id/table_header_value_textview"
+                    android:textAlignment="viewEnd"
+                    android:layout_weight="0.6"
+                    android:gravity="bottom|right"
+                    android:textStyle="bold" />
+            </LinearLayout>
+            <ListView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_below="@+id/table_header_layout"
+                android:id="@+id/legend_list_view"
+                android:paddingBottom="0dp"
+                android:paddingTop="6dp"
+                />
+
+        </RelativeLayout>
+    </LinearLayout>
+
+
+    <RelativeLayout
+        style="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse"
+        android:orientation="horizontal"
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        android:alpha="0.8"
+        android:id="@+id/toolbar_layout"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true">
+
+        <ImageButton
+            style="@android:style/Widget.DeviceDefault.ActionButton.Overflow"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/FilterButton"
+            android:src="@drawable/ic_filter"
+            android:visibility="invisible"
+            android:layout_alignParentTop="true"
+            android:layout_toLeftOf="@+id/plot_data_button" />
+
+        <ImageButton
+            style="@android:style/Widget.DeviceDefault.ActionButton.Overflow"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/plot_data_button"
+            android:src="@drawable/ic_sort_by_size"
+            android:layout_gravity="right"
+            android:layout_alignParentTop="true"
+            android:layout_alignParentRight="true"
+            android:layout_alignParentEnd="true"/>
+
+    </RelativeLayout>
+
+</RelativeLayout>

+ 42 - 39
res/layout/fragment_statistics.xml

@@ -6,52 +6,61 @@
     android:background="@android:color/transparent"
     >
 
-
-        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-            android:orientation="vertical"
-            android:layout_height="40dp"
-            android:layout_width="match_parent"
-            android:id="@+id/title_layout"
-            android:padding="5dp"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentStart="true">
-
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:textAppearance="?android:attr/textAppearanceMedium"
-                android:text="Title"
-                android:textAlignment="center"
-                android:id="@+id/title_text_view" />
-        </LinearLayout>
-
-
-
         <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_above="@+id/toolbar_layout"
-            android:layout_below="@+id/title_layout"
+            android:paddingLeft="4dp"
+            android:paddingRight="4dp"
             android:weightSum="2.">
 
-            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:orientation="vertical"
-              android:layout_height="match_parent"
-              android:layout_width="match_parent"
-              android:id="@+id/plot_layout"
-               android:padding="2dp"
-               android:layout_weight="1.1">
-            </LinearLayout>
+            <RelativeLayout
+                android:layout_width="fill_parent"
+                android:layout_height="fill_parent"
+                android:id="@+id/plot_parent_layout"
+                android:layout_weight="0.9">
 
+                <!-- TITLE LAYOUT -->
+                <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                    android:orientation="vertical"
+                    android:layout_height="40dp"
+                    android:layout_width="match_parent"
+                    android:id="@+id/title_layout"
+                    android:padding="5dp"
+                    android:layout_alignParentTop="true"
+                    android:layout_alignParentLeft="true"
+                    android:layout_alignParentStart="true">
 
+                    <TextView
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:textAppearance="?android:attr/textAppearanceMedium"
+                        android:text="Title"
+                        android:textAlignment="center"
+                        android:id="@+id/title_text_view" />
+                </LinearLayout>
+                <!-- PLOT LAYOUT -->
+                <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                    android:orientation="vertical"
+                    android:layout_height="match_parent"
+                    android:layout_width="match_parent"
+                    android:id="@+id/plot_layout"
+                    android:padding="2dp"
+                    android:layout_below="@+id/title_layout"
+                    >
+                </LinearLayout>
+
+            </RelativeLayout>
+
+
+            <!-- LIST LAYOUT -->
             <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_height="match_parent"
                 android:layout_width="match_parent"
                 android:id="@+id/list_parent_layout"
                 android:paddingTop="5dp"
-                android:layout_weight="0.9"
+                android:layout_weight="1.1"
                 >
 
                 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
@@ -95,13 +104,10 @@
                     />
 
             </RelativeLayout>
-
-
-
-
             </LinearLayout>
 
 
+    <!-- TOOLBAR LAYOUT -->
     <RelativeLayout
         style="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse"
         android:orientation="horizontal"
@@ -136,7 +142,4 @@
 
     </RelativeLayout>
 
-
-
-
 </RelativeLayout>

+ 2 - 2
res/layout/plot_list_item.xml

@@ -27,7 +27,7 @@
         android:textAppearance="?android:attr/textAppearanceMedium"
         android:text="title"
         android:id="@+id/title_text_view"
-        android:layout_weight="2"
+        android:layout_weight="3"
         android:paddingLeft="5dp"
         android:paddingRight="5dp"
         android:textColor="#000000" />
@@ -40,7 +40,7 @@
         android:id="@+id/value_text_view"
         android:textAlignment="textEnd"
         android:gravity="right"
-        android:layout_weight="4"
+        android:layout_weight="3"
         android:textColor="#000000" />
     </LinearLayout>
 </LinearLayout>

+ 34 - 6
src/de/tudarmstadt/informatik/hostage/ui2/fragment/StatisticsFragment.java

@@ -6,6 +6,7 @@ import android.app.FragmentManager;
 import android.app.FragmentTransaction;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Configuration;
 import android.graphics.Color;
 import android.os.Bundle;
 import android.view.LayoutInflater;
@@ -147,12 +148,6 @@ public class StatisticsFragment extends Fragment implements ChecklistDialog.Chec
 
     }
 
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setHasOptionsMenu(true);
-    }
-
     private ImageButton getFilterButton(){
         return (ImageButton) this.rootView.findViewById(R.id.FilterButton);
     }
@@ -205,6 +200,38 @@ public class StatisticsFragment extends Fragment implements ChecklistDialog.Chec
         return rootView;
     }
 
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setHasOptionsMenu(true);
+    }
+
+    @Override
+    public void onConfigurationChanged(Configuration newConfig){
+        super.onConfigurationChanged(newConfig);
+        LayoutInflater inflater = LayoutInflater.from(getActivity());
+
+        ViewGroup container = (ViewGroup) this.getView();
+        container.removeAllViewsInLayout();
+        View rootView = inflater.inflate(this.getLayoutID(), container, false);
+
+        container.addView(rootView);
+
+        LinearLayout plotLayout = (LinearLayout) rootView.findViewById(R.id.plot_layout);
+        plotLayout.setWillNotDraw(false);
+
+        this.legendListView = (ListView) rootView.findViewById(R.id.legend_list_view);
+        this.legendListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                StatisticsFragment.this.userTappedOnLegendItem(i);
+            }
+        });
+        this.rootView = rootView;
+        rootView.setWillNotDraw(false);
+
+        this.configureRootView(rootView);
+    }
 
     private Context getBaseContext(){
         return this.getActivity().getBaseContext();
@@ -761,6 +788,7 @@ public class StatisticsFragment extends Fragment implements ChecklistDialog.Chec
             this.lineGraph = new LineGraph(this.getActivity());
             LinearLayout plotLayout = (LinearLayout) this.rootView.findViewById(R.id.plot_layout);
             plotLayout.addView(this.lineGraph);
+            this.lineGraph.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT ));
         }
         return this.lineGraph;
     }