2011-12-04 1 views
2

j'ai un TextView avec un fond en mosaïque définie commefond Scrollable dans TextView Android

<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
android:src="@drawable/tile" 
android:tileMode="repeat" /> 

Works ok, mais le problème est que lorsque je fais défiler vers le bas pour lire plus de texte, l'arrière-plan reste la même place, alors que je voudrais le faire défiler avec le texte. Toutes les idées ont été appréciées.

La vue texte est défini comme:

<view xmlns:android="http://schemas.android.com/apk/res/android" 
class="com.example.android.notepad.NoteEditor$LinedEditText" 
android:id="@+id/note" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/app_bg_r" 
android:textColor="#666666" 
android:padding="5dp" 
android:scrollbars="vertical" 
android:fadingEdge="vertical" 
android:gravity="top" 
android:textSize="22sp" 
android:lineSpacingExtra ="7sp" 
android:capitalize="sentences" /> 

La LinedEditText de classe ne fait rien à part définir une police personnalisée.

La vue texte est défini dans onCreate de l'activité avec

setContentView(R.layout.note_editor); 
+0

Pouvez-vous également poster votre xml TextView? (ou code si vous le créez de cette façon) – cottonBallPaws

+0

Bien sûr, je l'ai mis dans la question. Thx –

Répondre

0

Il pourrait y avoir un moyen d'obtenir que cela fonctionne en utilisant uniquement les TextView, mais si personne d'autre propose une solution, je recommande l'emballage de votre TextView dans un ViewGroup (FrameLayout, RelativeLayout, LinearLayout, etc) de quelque sorte, puis enveloppant cela avec un ScrollView. Ce n'est probablement pas la meilleure solution car elle ajoute beaucoup de vues, mais cela fonctionnera probablement.

Définissez l'arrière-plan sur ViewGroup et placez wrap_content autour du TextView. Laissez le ScrollView gérer le défilement.

Vous pouvez l'essayer sans ViewGroup supplémentaire pour voir si l'arrière-plan fonctionnera sur le ScrollView, mais vous risquez de rencontrer à nouveau le même problème.

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/app_bg_r" > 
     <TextView 
      android:layout_width="wrap_content"   
      android:layout_height="wrap_content" /> 
    </RelativeLayout> 
</ScrollView> 
+0

J'essaie avec ScrollView seulement mais il semble que quelque chose bloque le défilement ... il défile un peu (une demi-ligne?) Et recule (oversrcolling?). Je pense que le défilement de TextView pourrait interférer ... comment le désactiver? Je ne trouve aucun attribut spécifique –

+0

@Mad Riffer, définissez la hauteur TextView sur wrap_content, effacez aussi les déclarations scrollbars et fadingEdge. Définissez ensuite le ViewGroup qui l'entoure pour avoir une hauteur de wrap_content. Je vais poster un exemple de xml dans une édition ci-dessus. – cottonBallPaws

+0

Désolé de poster juste maintenant. Merci pour l'indice, mais j'ai essayé tout cela et plus encore, en quelque sorte la solution m'évite toujours. Je reviendrai là-dessus quand je reviendrai de vacances la semaine prochaine. –