aChartEngine Plots从ScrollView上推下来

时间:2014-07-19 02:50:47

标签: android scrollview achartengine

我一直在努力解决这个问题。基本上,我创建了一个类,它返回一个适当风格化的GraphicalView图表;我有一个用于条形图的类和另一个用于饼图的类(我使用了renderer.setInScroll(true)BTW)。我使用一些图表和一些TextView填充我的Activity,但是我添加的视图(任何视图)越多,它们就会被推离屏幕顶部,并且滚动视图的底部有一个很大的空白区域。

我的XML:

  <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scrollingProfilePaid"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout 
    android:id="@+id/paidLayoutLinearParent"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="00dp"
    android:orientation="vertical">

        <TextView
        android:id="@+id/totalScore"
        android:layout_width="wrap_content"
        android:layout_height="350dp"
        android:layout_gravity="center"
        style="@style/GameTextWhite"
        />

        <LinearLayout
        android:id="@+id/pastScoresChart"
        android:layout_width="fill_parent"
        android:layout_height="350dp"
        android:orientation="vertical"/>

        <TextView
        android:id="@+id/totalTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        style="@style/GameTextWhite"
        />
        <TextView
        android:id="@+id/totalAverageResponseTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        style="@style/GameTextWhite"
        />
        <LinearLayout
        android:id="@+id/pastTimesChart"
        android:layout_width="fill_parent"
        android:layout_height="350dp"
        android:orientation="vertical"/>
        <!--...........-->
        </LinearLayout>
     </ScrollView>

我尝试了什么:

1.ScrollView-&GT;机器人:fillViewport = “真”

2.我没有为图表指定高度,而是使用pastScoresChart.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,(int)(dens * 350)))在java类中设置它;

3.将ScrollView包装在一个,使用子相对布局与android:alignParentTop =“true”作为标题,另一个孩子相对布局与android:alignParentBottom =“true”作为页脚,并将ScrollView更改为android :alignBelow = “@ ID /报头”。这只是使Scrollview大约40px高,似乎使问题变得更糟。

4.其他一些我不记得的东西。

我发现在ScrollView中设置android:marginTop =“500dp”(或类似的大值)的解决方法会将视图推回到各自的大致位置。不幸的是,很难让它完全适应,它让我担心设备的兼容性。有什么建议?

1 个答案:

答案 0 :(得分:2)

ScrollView底部的空白区域必须是因为它的子级(LinearLayout)属性android:layout_gravity="center"。尝试使用这样:

<LinearLayout 
android:id="@+id/paidLayoutLinearParent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

OBS 1 android:layout_marginTop="00dp"属性是不必要的。

OBS 2 :从API级别8开始不推荐使用fill_parent,并由match_parent替换。所以,使用match_parent
更多信息:http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html

OBS 3 :这是关于调试布局的提示:更改视图的背景颜色以查看每个视图的边界。