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?
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é.
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.
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.
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".
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.
Ajoutez quelque chose comme l'attribut Android:layout_marginTop="-300dp"
à l'enfant ScrollView
immédiat.
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
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>
<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
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.