2011-08-13 6 views
1

ScrollView http://dl.dropbox.com/u/3216968/ScrollView%20problem.pngMastering sur mesure ScrollView

J'ai un ScrollView qui contient un LinearLayout. J'ai deux personnalisations que je veux implémenter.

[1] Comment supprimer l'ombre noire sur le dessus? J'ai essayé de regarder Why is my List black Android mais c'est seulement pour le ListView et parler de l'arrière-plan. Lorsque j'essaie de faire une animation de secousse pour LinearLayout, l'animation n'est pas affichée en dehors des lignes. Avoir essayé tant de choses différentes et commencent à penser que ce n'est pas possible.

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView_response" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scrollbars="vertical" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:background="@color/transparent" 
    android:fillViewport="true" 
    android:fadingEdge="none" > 

<LinearLayout android:id="@+id/LinearLayout_response" 
    android:background="@drawable/background_red" 
    android:orientation="vertical" 
    android:layout_width="match_parent" android:layout_height="match_parent" 
    android:minWidth="270dp" 

    > 

Ce code d'activité

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.manual_resonse_layout); 

    Animation shakeIn = AnimationUtils.loadAnimation(this, R.anim.shake_in); 
    LinearLayout mainView = (LinearLayout) findViewById(R.id.LinearLayout_response); 

    mainView.startAnimation(shakeIn); 

Répondre

0

Quant à la "ombre noire" sur le dessus, la mise en l'androïde ScrollView: fadingEdge attribut XML "none" devrait faire.

+0

Il a été mis à "none" (voir mon exemple de code) et il est toujours là .. – Norfeldt

0

Pour que l'animation de secousse fonctionne, votre mise en page linéaire doit avoir des marges définies afin qu'elle ait suffisamment de place pour bouger. Vous pouvez faire votre défilement pour remplir la largeur de l'écran et la disposition linéaire plus petite et placée au milieu, etc.

Quant à l'ombre, c'est une bonne question!

+0

fait la mise en page linéaire envelopper le contenu et ajouté une marge 30dp .. toujours pas de chance .. – Norfeldt

+0

L'animation vue est limitée par sa fenêtre parente, vous devez être sûr que la vue enfant ne remplit pas entièrement le parent. Vous pouvez avoir une marge, mais si le contenu de LinearLayout_response se contente de remplir le parent, il peut ne pas fonctionner. Vous pouvez vous assurer que votre animation fonctionne correctement en la testant sur une vue qui se trouve au milieu d'un realtiveLayout, etc. Essayez de régler la gravité de la scrollView au centre. Enfin, les animations vues ne semblent pas toujours fonctionner comme prévu dans mon expérience, donc vous devez expérimenter;) – Lumis