我一直在我的应用程序中使用滚动视图,但问题是这是我第一次绘制比默认尺寸屏幕更长的东西。
XML 设计屏幕显示一个固定的 3.7 英寸(或更大)屏幕。如果我想添加更多对象怎么办?在 Eclipse 中设计时如何向下滚动?
我一直在我的应用程序中使用滚动视图,但问题是这是我第一次绘制比默认尺寸屏幕更长的东西。
XML 设计屏幕显示一个固定的 3.7 英寸(或更大)屏幕。如果我想添加更多对象怎么办?在 Eclipse 中设计时如何向下滚动?
您可以将屏幕尺寸更改为自定义..试试这个..单击当前屏幕按钮,然后选择“添加自定义”,然后向下滚动并选择自定义并单击右上角的“新建”..然后为屏幕编写自定义尺寸并单击“确定”,然后再次单击“确定”。然后再次单击当前屏幕按钮并选择您的自定义尺寸。完成!希望有所帮助!
确保选中此按钮。
尝试临时设置android:scrollY
在ScrollView
. 我还没有尝试过,但理论上它应该可以工作。请记住在发布应用程序时删除该属性。
自 Android API 19 起,此解决方案已更改。这对我有用。
转到您的 Android 虚拟设备管理器(在 Eclipse 中,这是在 Window > Android Virtual Device Manager 中),然后转到“设备定义”选项卡并创建一个新设备。将其命名为“Long Scroller”等令人难忘的名称。
在“编辑/创建设备”屏幕中,将垂直尺寸设置为您认为滚动视图的长度(7000 像素对于我的使用来说已经足够了)。您也可以稍后对其进行调整。
重新启动 Eclipse,打开你的长滚动视图布局,你的长滚动条将出现在你的预览布局中。
添加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"
>
你看到了设计的空间。
android:layout_marginTop="-300dp"
向直接ScrollView
子级添加类似属性的内容。
尝试将您的内部布局设置为固定高度。所以你的代码应该像
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_height="900dp"
>
</ReleativeLayout>
</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 使您的设计屏幕在 Y 方向上更长...将您的组件向下添加
我通常只使用负边距。它适用于滚动视图,就像里面的项目一样。
这是我的解决方案:我将 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>