ListView schöner machen/gequetscht

  • 4 Antworten
  • Letztes Antwortdatum
solaris63

solaris63

Dauer-User
305
Hey.
Dieser Code sorgt für mein TextView, der eine Liste darstellt:
Code:
<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text=""
    android:textAllCaps="false"
    android:textSize="22dp"
    android:textStyle="bold"/>
Jedoch wird dieser gequetscht dargestellt. (Siehe Anhang ganz unten ;) )
Ich würde es gerne so dargestellt haben (Bilder nicht von mir, einfach ListView in Google Images):
android-listadapter-demo1.png

selection_cab_example.png%3Fw%3D479


Kann ich irgendwie mein TextView verändern (also die Parameter vergeben), sodass es besser aussieht?
Es ist ja schon sehr schwer, das richtige (mit dem Finger) zu treffen. Bei denen, die diese Bilder gemacht haben, ging's ja auch irgendwie :rolleyes2:

So ist der Code:
Code:
    ListView listView;
    static final String[] Liste = {"Satz des Pythagoras", "abc-Formel", "pq-Formel"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setTitle("***");
        listView = getListView();
        listView.setAdapter(new ArrayAdapter<String>(this,
					R.layout.activity_home, R.id.text, Liste));
        listView.setOnItemClickListener(this);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_home, menu);
        return true;
    }
    @Override
    protected void onListItemClick (ListView l, View view, int position, long id) {
    	if ("Satz des Pythagoras".equals(Liste[position])) {
    		Intent sdp = new Intent(view.getContext(), MainActivity.class);
    		startActivityForResult(sdp, 0);
    	}
    	else if ("abc-Formel".equals(Liste[position])) {
    		Intent abc = new Intent(view.getContext(), ActivityABC.class);
    		startActivityForResult(abc, 0);
    	}
    	else if ("pq-Formel".equals(Liste[position])) {
    		Intent pq = new Intent(view.getContext(), ActivityPQ.class);
    		startActivityForResult(pq, 0);
    	}
    }
}


PS: Das ist mein 256-ter Beitrag...256...512....1024... :D
 

Anhänge

  • androidhilfe.PNG
    androidhilfe.PNG
    1,8 KB · Aufrufe: 322
Zuletzt bearbeitet:
Ich würde dann einen layout_marginTop/Bottom etc setzen.
 
  • Danke
Reaktionen: solaris63
DieGoldeneMitte schrieb:
Ich würde dann einen layout_marginTop/Bottom etc setzen.

Danke, das klappt sehr gut.
Kannst du dir bitte nochmal den zweiten Screenshot anschauen?
Kann ich diesen kleinen grauen Text als Beschreibung irgendwie anzeigen?
 
Zuletzt bearbeitet:
Das ist dann der Punkt, wo man einen eigenen Adapter schreiben muss. Oft kann man von ArrayAdapter erben und muss dann lediglich getView so überladen, dass dort das "RowLayout" geladen und mit den Daten beschickt wird.

Es gibt im Netz viele Beispiele zu. ZB hier: Android Series: Custom ListView items and adapters (der interessante Teil für Dich ist hier der OrderAdapter)
 
  • Danke
Reaktionen: solaris63
DieGoldeneMitte schrieb:
Das ist dann der Punkt, wo man einen eigenen Adapter schreiben muss. Oft kann man von ArrayAdapter erben und muss dann lediglich getView so überladen, dass dort das "RowLayout" geladen und mit den Daten beschickt wird.
Danke :smile:
 
Zurück
Oben Unten