将按钮和androidplot添加到scrollview

时间:2016-12-12 18:17:29

标签: android button scrollview androidplot

我似乎无法将按钮和androidplot一起放到一个scrollview中,这样我就可以向下滚动,通过androidplot来查看按钮。我使用的是androidplot 0.9.8。

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ap="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="example.example.MainActivity">
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/plotLayout">
            <com.androidplot.xy.XYPlot
                    android:id="@+id/plot"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    ap:Label="test"
                    ap:domainLabel="test"
                    ap:rangeLabel="test"
                    ap:renderMode="use_main_thread"/>
            <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:layout_below="@id/plot">
                    <Button
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:text="test"/>
                    <Button
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:text="test"/>
                    </LinearLayout>
        </RelativeLayout>
</ScrollView>

编辑:但是,当我为androidplot指定一定高度时(例如android:layout_height =“600dp”而不是android:layout_height =“match_parent”),它滚动得很好。为什么使用match_parent会阻止它滚动?

2 个答案:

答案 0 :(得分:1)

您似乎使用match_parent的值作为地块的高度,这会在ScrollView内部使用时创建鸡和蛋的情景,因为两个视图都取决于另一个告诉它它的大小是什么。

这里最好的做法是为布局xml中的绘图提供明确的高度。如果这不适合您,请添加:

android:fillViewport="true"

到你的scrollview的XML也可以做到这一点。 (通常有效但我在各种情况下都听到了相反的报道)This blog post更详细地介绍了基本问题。

答案 1 :(得分:0)

我设法通过以编程方式为绘图设置手动大小来破解它。您可以获取绘图的布局参数,然后手动更改高度。我认为高度似乎存在某种问题?

XYPlot plot = (XYPlot) findViewById(R.id.plot);
LayoutParams lp = plot.getLayoutParams();
lp.height = 1710; // You can set it to whatever height you require it to be, 1710 is just an example
plot.setLayoutParams(lp);