web-dev-qa-db-ja.com

ScrollView-Eclipseでレイアウトを設計するときに下にスクロールする方法は?

アプリでスクロールビューを使用していますが、デフォルトのサイズの画面よりも長いものを描画するのはこれが初めてです。

XMLデザイン画面には、固定の3.7インチ(またはそれ以上)の画面が表示されます。オブジェクトを追加したい場合はどうすればよいですか? Eclipseでデザインしているときに下にスクロールするにはどうすればよいですか?

17
Asim

画面サイズをカスタムに変更できます。これを試してください。現在の画面ボタンをクリックして[カスタムを追加]を選択し、下にスクロールして[カスタム]を選択し、右上隅にある[新規]をクリックします。次に、画面のカスタムサイズを入力します。そして、「OK」をクリックしてから、もう一度「OK」をクリックします。その後、現在の画面ボタンをもう一度クリックして、カスタムサイズを選択します。完了!お役に立てば幸いです。

このボタンが選択されていることを確認してください。 enter image description here

11
Henrik

一時的に設定してみてください Android:scrollYScrollView上。私はこれを試していませんが、理論的にはうまくいくはずです。アプリを公開するときは、属性を削除することを忘れないでください。

4
Felix

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

デザインのスペースが見えます。

2
Nirmal Dhara

Android API 19の時点で、このソリューションは変更されました。これが私にとってうまくいったことです。

Android仮想デバイスマネージャー(Eclipseではこれはウィンドウ> Android仮想デバイスマネージャー)にあります)に移動し、[デバイス定義]タブに移動して作成します新しいデバイス。「ロングスクローラー」のような印象的な名前を付けます。

The Create New Device screen

[デバイスの編集/作成]画面で、垂直方向のサイズをスクロールビューの長さに設定します(私の使用には7000pxで十分でした)。後で微調整することもできます。

Eclipseを再起動し、長いスクロールビューレイアウトを開くと、プレビューレイアウトの中に長いスクローラーが表示されます。

2
Andrew

Android:layout_marginTop="-300dp"属性のようなものを直接のScrollView子に追加します。

2
vbarinov

内部レイアウトを固定の高さに設定してみてください。したがって、コードは次のようになります。

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

これはうまくいくはずです

1
Androyds

これが私の解決策でした。私は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>
0
Fracdroid
    <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方向に長くします...コンポーネントを下に追加します

0
Rahul Chhangani

私は通常、負のマージンを使用します。内部のアイテムと同様にスクロールビューで機能します。

0
oneat