web-dev-qa-db-fra.com

ScrollView - Comment faire défiler vers le bas lors de la conception d'une présentation dans Eclipse?

J'utilise l'affichage par défilement dans mes applications, mais le fait est que c'est la première fois que je dessine quelque chose de plus long que l'écran de taille par défaut.

L’écran XML Design affiche un écran fixe de 3,7 pouces (ou plus grand). Et si je veux ajouter plus d'objets? Comment puis-je faire défiler vers le bas lors de la conception dans Eclipse?

17
Asim

Vous pouvez modifier la taille de l'écran en personnalisation. Essayez ceci. Cliquez sur le bouton de l'écran actuel, sélectionnez "Ajouter une personnalisation", puis faites défiler et sélectionnez Personnalisé, puis cliquez sur "Nouveau" en haut à droite corner .. Ensuite, écrivez votre taille personnalisée pour écran et cliquez sur "OK", puis à nouveau sur "OK" .. Ensuite, cliquez à nouveau sur le bouton de votre écran actuel et sélectionnez votre taille personnalisée .. Terminé! L'espoir aidé!

Assurez-vous que ce bouton est sélectionné. enter image description here

11
Henrik

Essayez de régler temporairement Android:scrollY sur la ScrollView. Je n'ai pas essayé cela mais cela devrait, en théorie, fonctionner. N'oubliez pas de supprimer l'attribut lors de la publication de l'application.

4
Felix

Ajoutez Android:scrollY="300dp" à votre mise en page. Tt fera défiler le contenu 300dp vers le haut. 

avant d'ajouter Android: scrollY = "300dp" à la mise en page

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

vous ne voyez pas d'espace pour le design

Après avoir ajouté Android: scrollY = "300dp" à la mise en page

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

vous voyez l'espace pour la conception.

2
Nirmal Dhara

Depuis l'API Android 19, cette solution a changé. Voici ce qui a fonctionné pour moi. 

Accédez à votre gestionnaire de périphériques virtuels Android (dans Eclipse, sous Fenêtre> Gestionnaire de périphériques virtuels Android), accédez ensuite à l'onglet Définitions de périphériques et créez un nouveau périphérique. Nommez-le quelque chose d'inoubliable comme "Long Scroller". 

The Create New Device screen

Dans l'écran Éditer/Créer un appareil, définissez les dimensions verticales sur la durée de votre vue de défilement (7 000 pixels suffisaient amplement pour mes utilisations). Vous pouvez également le modifier plus tard. 

Redémarrez Eclipse, ouvrez votre disposition longue scrollview et votre longue molette apparaîtra parmi vos dispositions d’aperçu. 

2
Andrew

Ajoutez quelque chose comme l'attribut Android:layout_marginTop="-300dp" à l'enfant ScrollView immédiat. 

2
vbarinov

Essayez de définir votre disposition intérieure à une hauteur fixe. Donc, votre code devrait être comme

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

Cela devrait marcher

1
Androyds

C'était ma solution: j'ai sous-classé ScrollView pour prendre un paramètre scrollY qui n'est utilisé que lorsque 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);
        }
    }

}

Cela va dans votre fichier 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">

cet Android: scrollY rallonge votre écran de conception dans la direction Y ... ajoutez vos composants vers le bas

0
Rahul Chhangani

J'utilise généralement juste la marge négative. Cela fonctionne sur l'affichage de défilement comme sur un élément à l'intérieur.

0
oneat