ScrollView – 在Eclipse中devise布局时如何向下滚动?

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

XMLdevise屏幕显示一个固定的3.7英寸(或更大)的屏幕。 如果我想添加更多的对象呢? 如何在Eclipse中进行devise时向下滚动?

Solutions Collecting From Web of "ScrollView – 在Eclipse中devise布局时如何向下滚动?"

您可以将屏幕大小更改为自定义..尝试此操作,单击当前屏幕button,然后select“添加自定义”,然后向下滚动并select自定义,然后单击右上angular的“新build”。然后将自定义大小写入屏幕并点击“确定”,然后再次“确定”。之后再次点击您当前的屏幕button,并select您的自定义尺寸..完成! 希望有帮助!

确保这个button被选中 在这里输入图像说明

尝试在ScrollView上临时设置android:scrollY 。 我没有尝试过,但理论上它应该起作用。 只记得发布应用程序时删除属性。

从Android API 19开始,这个解决scheme已经改变了。 这是为我工作的。

转到您的Android虚拟设备pipe理器(在Eclipse中,这是在窗口> Android虚拟设备pipe理器),一旦进入设备定义选项卡,并创build一个新的设备。 命名它像“长卷轴”难忘的东西。

创建新设备屏幕

在Edit / Create Device(编辑/创build设备)屏幕中,将垂直尺寸设置为不超过您认为您的滚动视图(7000px对于我的使用来说已经足够了)。 你也可以稍后调整它。

重新启动Eclipse,打开您的长滚动视图布局,并且您的长滚动器将出现在您的预览布局中。

尝试设置你的内部布局到一个固定的高度。 所以你的代码应该是这样的

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

这应该工作

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" > 

你可以看到没有devise空间

在将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" > 

你看到的devise空间。

添加类似android:layout_marginTop="-300dp"属性的即时ScrollView子。

  <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使你的devise屏幕在Y方向上更长…把你的组件向下

我通常只使用负边距。 它在滚动视图上的作品里面的项目。

这是我的解决scheme:我subclassed滚动视图采取scrollY参数,仅在isInEditMode()时使用。

 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>