2016-03-27 14 views
4

Ich erstelle eine Android-Anwendung für die Anzeige der Kontaktdaten aller Dienste, die in meiner Stadt verfügbar sind. Ich benutze Schublade in meiner Anwendung für die Navigation von Städten. TextView mit längerem Text (z. B. Adresse) verlässt jedoch den Bildschirm. Also bitte helft mir, dass TextView in den Bildschirm passt. Unten ist mein Code für diese Tätigkeit:TextView in Gridlayout erscheint aus dem Bildschirm

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

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="Name: " 
    android:id="@+id/textView27" 
    android:layout_row="0" 
    android:layout_column="0" 
    style="@style/Base.TextAppearance.AppCompat.Title" 
    android:textSize="22dp" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="Idea Gallery" 
    android:id="@+id/textView28" 
    android:layout_row="0" 
    android:layout_column="1" 
    android:textSize="22dp" /> 

<TextView 
    style="@style/Base.TextAppearance.AppCompat.Title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="Address: " 
    android:id="@+id/textView29" 
    android:layout_row="1" 
    android:layout_column="0" 
    android:textSize="22dp" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="Shop No 5, Akshay Apartment, Kalwa, Thane - 400605, Opposite Pramila Hospital " 
    android:id="@+id/textView30" 
    android:layout_row="1" 
    android:layout_column="1" 
    android:textSize="22dp" /> 

<TextView 
    style="@style/Base.TextAppearance.AppCompat.Title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="Contact:" 
    android:id="@+id/textView31" 
    android:layout_row="2" 
    android:layout_column="0" 
    android:textSize="22dp" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="022 - 385[enter image description here][1]39146" 
    android:id="@+id/textView32" 
    android:layout_row="2" 
    android:layout_column="1" 
    android:textSize="22dp" /> 
</GridLayout> 
+1

I Relative Layout/linear Layout für diese verwenden könnte ..do Sie auf jeden Fall – sharan

+0

dies in Grid tun wollen Nein, werde ich jedes Layout verwenden, in dem alle Komponenten erschienen richtig. – Nadimuddin

+1

seit Sie Anwendung für die Anzeige geschrieben haben ... denke ich mit Webview mit Laufzeit generiert HTML ist eine der besten Option für die Anzeige ... da in diesem Fall können Sie ein besser aussehendes Design auf einfache Weise zur Anzeige ... – sharan

Antwort

1

diese

android:ellipsize="end" 
android:maxLines="1" 

zu deinem Textview hinzufügen Was dies tut, ist, wenn Ihr Text lang ist es zeigen wird es in den Punkten. für Beispiel: Nadim Shaikh wird Nadim SH sein ...

+0

Danke für Ihre Hilfe, aber ich möchte den gesamten Text auf dem Bildschirm anzeigen – Nadimuddin

+0

Wollen Sie den ganzen Text in einer einzigen Zeile? – Jois

+0

Ändern Sie Ihre Textansicht layout_width = match_parent. Sie werden dann den vollständigen Text anzeigen – Jois

-1

Der beste Weg, in android etwas zu tun, dass html während Runtime ...

in xml

Zum Beispiel zu verwenden ist einfach weiter ein WebView innerhalb Relative Layout ..

<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"> 
    <WebView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/web" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentTop="true"/> 
</RelativeLayout> 

im Java-Code wie folgt vorgehen:

String name="...",address="..."; 
Webview web = (WebView)findViewById(R.id.web); 
String html = "<html>\n" + 
       "<body>\n" + 
       "<h4>Name:</h4>" + //name as heading 
       name +  // here the name you like to add 
       "\n" + 
       "<hr>" + 
       "<h4>address</h4>" + //address as heading 
       address + //here the address you like to add 
       "\n" + 
       "<hr>" + //line 
       "</body>\n" + 
       "</html>"; 
//in this same way you can add as many items you want 
web.loadData(html, "text/html; charset=UTF-8", null); 

ich weiß, Sie wollen, dies zu erreichen, indem Sie einige Layout in xml, aber ich bel ieve das ist der beste Weg, denn in diesem Fall können Sie ein besseres Design auch machen .. und in der Laufzeit können Sie Name, Adresse und Kontakt so viele wie Sie möchten ..

0

Fügen Sie die folgenden Attribute zu Ihrem TextView Elemente:

android:layout_width="0dp" 
android:layout_gravity="fill_horizontal" 

Dies wird die TextView s füllt die Zelle der Breite und nicht weiter machen.

bewarb ich mich auf den grauen Etiketten hier: Sample

Verwandte Themen