17

我一直在我的应用程序中使用滚动视图,但问题是这是我第一次绘制比默认尺寸屏幕更长的东西。

XML 设计屏幕显示一个固定的 3.7 英寸(或更大)屏幕。如果我想添加更多对象怎么办?在 Eclipse 中设计时如何向下滚动?

4

9 回答 9

11

您可以将屏幕尺寸更改为自定义..试试这个..单击当前屏幕按钮,然后选择“添加自定义”,然后向下滚动并选择自定义并单击右上角的“新建”..然后为屏幕编写自定义尺寸并单击“确定”,然后再次单击“确定”。然后再次单击当前屏幕按钮并选择您的自定义尺寸。完成!希望有所帮助!

确保选中此按钮。 在此处输入图像描述

于 2012-10-22T08:36:30.773 回答
4

尝试临时设置android:scrollYScrollView. 我还没有尝试过,但理论上它应该可以工作。请记住在发布应用程序时删除该属性。

于 2012-10-22T08:32:58.290 回答
2

自 Android API 19 起,此解决方案已更改。这对我有用。

转到您的 Android 虚拟设备管理器(在 Eclipse 中,这是在 Window > Android Virtual Device Manager 中),然后转到“设备定义”选项卡并创建一个新设备。将其命名为“Long Scroller”等令人难忘的名称。

创建新设备屏幕

在“编辑/创建设备”屏幕中,将垂直尺寸设置为您认为滚动视图的长度(7000 像素对于我的使用来说已经足够了)。您也可以稍后对其进行调整。

重新启动 Eclipse,打开你的长滚动视图布局,你的长滚动条将出现在你的预览布局中。

于 2014-05-16T22:02:03.510 回答
2

添加android:scrollY="300dp"到您的布局。Tt 会将内容向上滚动 300dp。

在将 android:scrollY="300dp" 添加到布局之前

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="com.javamad.user_profile"
>

你看不到设计的空间

将 android:scrollY="300dp" 添加到布局后

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="com.javamad.user_profile"
    android:scrollY="300dp"
>

你看到了设计的空间。

于 2015-02-16T14:21:16.080 回答
2

android:layout_marginTop="-300dp"向直接ScrollView子级添加类似属性的内容。

于 2015-08-07T18:48:16.473 回答
1

尝试将您的内部布局设置为固定高度。所以你的代码应该像

<ScrollView
     android:layout_width="fill_parent"
     android:layout_height="fill_parent">
<RelativeLayout
     android:layout_height="900dp"
>
</ReleativeLayout>
</ScrollView>

这应该工作

于 2012-10-22T08:37:50.783 回答
0
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:paddingBottom="@dimen/activity_vertical_margin"
       android:paddingLeft="@dimen/activity_horizontal_margin"
       android:paddingRight="@dimen/activity_horizontal_margin"
       android:paddingTop="@dimen/activity_vertical_margin"
       tools:context=".AdminControlPanel" 
       android:scrollY="200dp">

这个 android:scrollY 使您的设计屏幕在 Y 方向上更长...将您的组件向下添加

于 2013-08-29T04:26:01.357 回答
0

我通常只使用负边距。它适用于滚动视图,就像里面的项目一样。

于 2015-07-27T16:58:51.680 回答
0

这是我的解决方案:我将 ScrollView 子类化为采用仅在 isInEditMode() 时使用的 scrollY 参数。

public class MyScollView extends ScrollView {

    private int scrollY = 0;

    private void init(Context context, AttributeSet attrs) {
        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyScrollView);
        scrollY = a.getInt(R.styleable.MyScrollView_scrollY, 0);
        a.recycle();
    }

    public MyScollView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init(context, attrs);
    }

    public MyScollView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context, attrs);
    }

    public MyScollView(Context context) {
        super(context);
    }

    @Override
    public void computeScroll() {
        if (isInEditMode()) {
            scrollTo(0, scrollY);
        }
    }

}

这将进入您的 attrs.xml 文件

<declare-styleable name="MyScrollView">
    <attr name="scrollY" format="integer"/>
</declare-styleable>
于 2015-10-15T00:13:17.857 回答