2010-03-05 4 views

risposta

50

penso Androidbase legata alla domanda sbagliata ... ha fatto una domanda simile di recente, ed ecco la answer gli ho dato:

Si può mettere uno sfondo colorato con angoli arrotondati in un tabella utilizzando uno sfondo di forma. Crea una tale forma in un file XML, inserisci la tua cartella dei disegni.

<?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> 

Ad esempio, sopra viene creato uno sfondo bianco semitrasparente con angoli arrotondati di 30 pixel. Si imposta questa tabella utilizzando

android:background="@drawable/my_shape_file" 

nel file XML in cui è stato definito il layout della tabella.

+0

può mi vuol suggerire come rimuovere angolo arrotondato del tasto ... thnx –

+0

+1. è stato fantastico inoltre, se si desidera impostarlo sulla riga della tabella in modo programmatico invece (ad esempio se si stanno alternando le forme di sfondo) utilizzare: tableRow.setBackgroundResource (R.drawable.my_shape_file); maggiori informazioni [qui] (http://stackoverflow.com/questions/2414134/dynamically-get-drawables-by-id) – dev

0

Preferisco utilizzare una tecnica di mascheramento - sovrapporre un'immagine maschera (qualsiasi sfondo in stile iOS, con un ritaglio trasparente al suo interno) su un layout standard.

In questo modo, lo sfondo del mio layout non è collegato direttamente a una bitmap, posso cambiarlo molto facilmente.

Ho una risposta spiegando che qui: Android XML rounded clipped corners

0

ho avuto un compito simile recentemente così ho deciso di scrivere una libreria per questo scopo. Sentitevi liberi di usarlo per le vostre esigenze ... https://github.com/vladexologija/GroupedTextView

GroupedTextView

+0

Ma non allinea orizzontalmente il testo a destra con la tua attuale implementazione, giusto? Sembra che un TableView sarà meglio utilizzare per l'implementazione. –

+0

È tutto lì su Github, lo cambia in Android: gravità = "destra" se preferisci l'allineamento corretto. – vladexologija