2010-03-05 14 views

Antwort

50

Ich denke Androidbase an die falsche Frage verknüpft ... er vor kurzem eine ähnliche Frage gestellt, und hier ist die answer Ich gab ihm:

Sie können einen farbigen Hintergrund mit abgerundeten Ecken in eine setzen Tabelle mit einem Shape-Hintergrund. Erstellen Sie eine solche Form in einer XML-Datei, und legen Sie sie in den Drawables-Ordner.

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#99FFFFFF"/> 
    <corners android:radius="30px"/> 
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> 
</shape> 

Zum Beispiel schafft das oben einen halbtransparenten weißen Hintergrund mit 30px abgerundeten Ecken. Sie setzen dies mit der Tabelle

android:background="@drawable/my_shape_file" 

in der XML-Datei, in der Sie Ihr Tabellenlayout definiert haben.

+0

kann jede schlagen mir, wie abgerundete Ecke der Schaltfläche entfernen ... THNX –

+0

+1. Das war großartig. Wenn Sie es stattdessen programmatisch auf Ihre Tabellenzeile setzen möchten (sagen Sie, wenn Sie Hintergrundformen wechseln), verwenden Sie: tableRow.setBackgroundResource (R.drawable.my_shape_file); mehr Infos [hier] (http://stackoverflow.com/questions/2414134/dynamicly-get-drawables-by-id) – dev

0

Ich ziehe es vor, eine Maskierungstechnik zu verwenden - überlagern Sie ein Maskenbild (irgendein iOS-artiger Hintergrund mit einem transparenten Ausschnitt) über ein Standardlayout.

Auf diese Weise ist der Hintergrund meines Layouts nicht direkt mit einer Bitmap verknüpft, ich kann es sehr einfach ändern.

Ich habe eine Antwort zu erklären, dass hier: Android XML rounded clipped corners

0

ich vor kurzem eine ähnliche Aufgabe hatte, damit ich eine Bibliothek für diesen Zweck schreiben entschieden. Fühlen Sie sich frei, um es für Ihre Bedürfnisse zu nutzen ... https://github.com/vladexologija/GroupedTextView

GroupedTextView

+0

Aber es richtet nicht horizontal den Text auf der rechten Seite mit Ihrer aktuellen Implementierung, richtig? Es scheint, dass ein TableView besser für die Implementierung verwendet werden kann. –

+0

Es ist alles auf Github, ändern Sie es zu Android: Schwerkraft = "rechts", wenn Sie die richtige Ausrichtung bevorzugen. – vladexologija