2015-09-13 41 views
2

我已經閱讀了MPAndroid Chart庫的整個文檔,但還沒有找到任何可以做到的事情。我實際上希望我的圖表擴展到屏幕的整個寬度,以便x和y軸位於圖表的頂部。 我附上了一張圖片來展示它應該如何看起來完全一樣。如何使用Android中的MPAndroid圖表庫在折線圖頂部覆蓋x軸和y軸?

The chart should look as the top half of screen

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:weightSum="100"> 

<com.github.mikephil.charting.charts.LineChart 
    android:id="@+id/progress_graph" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="66"/> 



    <FrameLayout 
     android:id="@+id/workout_frame" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="17" 
     android:background="@color/dashboard_item1" 
     android:foreground="?attr/selectableItemBackground" 
     android:padding="15dp"> 


     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="horizontal"> 

      <ImageView 
       android:layout_width="36dp" 
       android:layout_height="match_parent" 
       android:src="@drawable/nav_workout_icon" /> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:orientation="vertical" 
       android:layout_marginLeft="10dp"> 

       <TextView 
        android:id="@+id/workout_title" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/workout_title" 
        android:textColor="@color/text_primary" 
        android:textSize="20sp"/> 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal"> 

        <TextView 
         android:id="@+id/workout_calories_consumed" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="@string/workout_calories_consumed_sample" 
         android:textColor="@color/text_primary" 
         android:textSize="26sp" 
         android:textStyle="bold"/> 

        <TextView 
         android:id="@+id/calorie_unit_workout_left" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="@string/calorie_unit" 
         android:textColor="@color/text_secondary" 
         android:textSize="20sp" 
         android:layout_marginLeft="7dp"/> 
       </LinearLayout> 
      </LinearLayout> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:layout_gravity="right" 
      android:gravity="center"> 

      <TextView 
       android:id="@+id/workout_calories_total" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/workout_calories_total_sample" 
       android:textColor="@color/accent" 
       android:textSize="22sp" 
       android:textStyle="bold"/> 

      <TextView 
       android:id="@+id/workout_unit_calorie_right" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/calorie_unit" 
       android:textColor="@color/accent" 
       android:textSize="18sp"/> 
     </LinearLayout> 
    </FrameLayout> 

    <FrameLayout 
     android:id="@+id/diet_frame" 
     android:foreground="?attr/selectableItemBackground" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="17" 
     android:background="@color/dashboard_item2" 
     android:padding="15dp"> 


     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="horizontal"> 

      <ImageView 
       android:layout_width="36dp" 
       android:layout_height="match_parent" 
       android:src="@drawable/nav_diet_icon" /> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:gravity="center" 
       android:orientation="vertical" 
       android:layout_marginLeft="10dp"> 

       <TextView 
        android:id="@+id/diet_title" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/diet_title" 
        android:textColor="@color/text_primary" 
        android:textSize="20sp"/> 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal"> 

        <TextView 
         android:id="@+id/diet_calories_consumed" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="@string/diet_calories_consumed_sample" 
         android:textColor="@color/text_primary" 
         android:textSize="26sp" 
         android:textStyle="bold"/> 

        <TextView 
         android:id="@+id/calorie_unit_diet_left" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="@string/calorie_unit" 
         android:textColor="@color/text_secondary" 
         android:textSize="20sp" 
         android:layout_marginLeft="7dp"/> 
       </LinearLayout> 
      </LinearLayout> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:layout_gravity="right" 
      android:gravity="center"> 

      <TextView 
       android:id="@+id/diet_calories_total" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/diet_calories_total_sample" 
       android:textColor="@color/accent" 
       android:textSize="22sp" 
       android:textStyle="bold"/> 

      <TextView 
       android:id="@+id/diet_unit_calorie_right" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/calorie_unit" 
       android:textColor="@color/accent" 
       android:textSize="18sp"/> 
     </LinearLayout> 

    </FrameLayout> 

    <TextView 
     android:id="@+id/sync_status" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     android:textColor="@android:color/black" 
     android:visibility="gone" /> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="10dp" 
     android:visibility="gone"> 

     <TextView 
      android:id="@+id/content" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="" 
      android:textColor="@android:color/black" 
      android:visibility="gone" /> 
    </ScrollView> 
</LinearLayout> 

編輯:這是我的佈局XML代碼。

回答

1

您可以設置位置(YAxisLabelPosition pos):設置應該繪製軸標籤的位置。 INSIDE_CHART或OUTSIDE_CHART。

此外,您可以設置「底部」或「頂部」位置。

XAxis xAxis = chart.getXAxis(); 
xAxis.setPosition(XAxisPosition.TOP); 
+0

感謝您的幫助。我錯過了這一個。現在我可以將兩個軸都放在圖形中,但仍然可以將圖形放在屏幕的整個寬度上。它有一些預定義的填充。我怎樣才能做到這一點?請幫助並從我身邊賺取upvotes。 –

+0

可以請你在這裏發佈你的佈局設計嗎? –

+0

我認爲一些填充將從佈局文件的根視圖添加。刪除該填充並在您想要的子視圖的位置添加填充 –

相關問題