2013-01-21 18 views
16

Sto trovando un momento difficile impostare la visualizzazione di testo con testo di scorrimento verticale. Nella mia finestra di dialogo ho una vista testuale con testo grande, dato che il dialogo è una piccola finestra. Voglio che il testo della vista testo scorra verticalmente in modo che la finestra di dialogo abbia un bell'aspetto. Sotto è il mio xmlAndroid: Textview con testo a scorrimento verticale

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#FFFFFF" > 

    <ImageView 
     android:id="@+id/fbcancel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:src="@drawable/fbcancel" /> 

    <EditText 
     android:id="@+id/fbedittext" 
     android:layout_width="230dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/imageView1" 
     android:layout_marginLeft="5dp" 
     android:layout_marginTop="33dp" 
     android:background="@drawable/roundcorners" 
     android:ems="10" 
     android:gravity="center" 
     android:hint="@string/fbhint" 
     android:lines="6" 
     android:paddingRight="5dp" 
     android:scrollHorizontally="true" /> 
    <RelativeLayout 
     android:id="@+id/relativeLayout1" 
     android:layout_width="80dp" 
     android:layout_height="250dp" 
     android:layout_alignParentRight="true" 
     android:layout_toRightOf="@+id/fbedittext" > 

     <Spinner 
      android:id="@+id/spinner" 
      android:layout_width="50dp" 
      android:layout_height="30dp" 
      android:layout_alignLeft="@+id/fbshare" 
      android:layout_alignRight="@+id/fbshare" 
      android:layout_below="@+id/fbshare" 
      android:layout_marginTop="16dp" 
      android:drawSelectorOnTop="true" 
      android:entries="@array/fblist" 

      android:visibility="gone"/> 

     <ImageView 
      android:id="@+id/fbpeople" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/fbshare" 
      android:layout_alignRight="@+id/fbshare" 
      android:layout_below="@+id/fbshare" 
      android:layout_marginTop="16dp" 
      android:background="@drawable/people" 
      android:drawSelectorOnTop="true" /> 

     <ImageView 
      android:id="@+id/fbshare" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="65dp" 
      android:src="@drawable/newfb" /> 
    </RelativeLayout> 



<ScrollView android:id="@+id/textAreaScroller" 
    android:layout_width="fill_parent" 
     android:layout_height="173px" 
     android:layout_x="0px" 
     android:layout_y="25px" 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/fbedittext" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/fbedittext" 
     android:layout_marginTop="22dp" 
     android:lines="7" 
     android:scrollbars="vertical" 
     android:text="@string/fbtext" /> 
</ScrollView> 
    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/fbcancel" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:paddingRight="2dp" 
     android:src="@drawable/askabud" /> 

</RelativeLayout> 

Ho provato a posizionare la vista di scorrimento ma la visualizzazione di testo sta andando nella posizione sbagliata. Qualsiasi aiuto è apprezzato.

+1

"ma il TextView sta in posizione wrog"? Puoi spiegare un po '? –

+0

puoi mettere lo screenshot insieme al profilo previsto. – satheesh

+5

Refer: http://stackoverflow.com/questions/1748977/making-textview-scrollable-in-android –

risposta

71

1. Via XML

<ScrollView android:id="@+id/textAreaScroller" 
    android:layout_width="fill_parent" 
    android:layout_height="173px" 
    android:layout_x="0px" 
    android:layout_y="25px" 
    android:scrollbars="vertical"> 
<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/fbedittext" 
    android:layout_alignParentRight="true" 
    android:layout_below="@+id/fbedittext" 
    android:layout_marginTop="22dp" 
    android:lines="7"   
    android:text="@string/fbtext" /> 
</ScrollView> 

Codice 2.Via

ScrollView scroller = new ScrollView(this); 
TextView tv=(TextView)findViewById(R.id.textView1); 
scroller.addView(tv); 

O

Putting seguenti proprietà all'interno della vostra<TextView>

android:scrollbars = "vertical" 

Nel Codice

tv.setMovementMethod(new ScrollingMovementMethod()); 
+4

Nessuna necessità di scrollview. Consultare: http://stackoverflow.com/questions/1748977/making-textview-scrollable-in-android –

+0

http://stackoverflow.com/a/3256305/1318946 –

-1

All'interno del tuo ScrollView dare un altro RelativeLayout e all'interno di RelativeLayout inserire il tuo TextView.

+0

Non è necessario un RelativeLayout nel mezzo se si avrà solo la vista testuale al suo interno. L'aggiunta di livelli non necessari può causare problemi di prestazioni. Solo il TextView all'interno di ScrollView dovrebbe essere sufficiente. –

2

Prova a impostare l'altezza massima in TextView, può funzionare per voi, come indicato di seguito

<TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="100dip" // change dip accordingly 
     android:layout_alignLeft="@+id/fbedittext" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+id/fbedittext" 
     android:layout_marginTop="22dp" 
     android:lines="7" 
     android:scrollbars="vertical" 
     android:text="@string/fbtext" /> 
Problemi correlati