Mi chiedo se posso disegnare il rettangolo in XML. So come disegnare usando il metodo drawRect a livello di programmazione.Posso disegnare il rettangolo in XML?
risposta
Sì, è possibile e qui è quello che ho fatto in precedenza:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape">
<stroke android:width="2dp" android:color="#ff207d94" />
<padding android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp" />
<corners android:radius="5dp" />
<solid android:color="#ffffffff" />
</shape>
È possibile creare un nuovo file XML all'interno della cartella drawable, e aggiungere il codice di cui sopra, quindi salvarlo come rectangle.xml.
Per utilizzarlo all'interno di un layout, impostare l'attributo android:background
sulla nuova forma estraibile. La forma che abbiamo definito non ha alcuna dimensione e pertanto prenderà le dimensioni della vista che è definita nel layout.
Quindi mettere tutto insieme:
<View
android:id="@+id/myRectangleView"
android:layout_width="200dp"
android:layout_height="50dp"
android:background="@drawable/rectangle"/>
Infine; è possibile impostare questo rettangolo come sfondo di qualsiasi vista, sebbene per ImageViews si utilizzi android:src
. Ciò significa che puoi usare il rettangolo come sfondo per ListViews, TextViews, ecc.
Come farebbe qualcuno a fare in modo che il colore possa essere impostato dal layout di Android in cui facciamo il
Penso che non si possa aggiungere l'id per esso –
Crea rectangle.xml
utilizzando Forma Drawable come non mettere al tuo Drawable cartella ...
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
<corners android:radius="12px"/>
<stroke android:width="2dip" android:color="#000000"/>
</shape>
metterlo in un ImageView
<ImageView
android:id="@+id/rectimage"
android:layout_height="150dp"
android:layout_width="150dp"
android:src="@drawable/rectangle">
</ImageView>
Spero che questo vi aiuterà.
Grazie mille. È utile. – user1301568
modo rapido e sporco:
<View
android:id="@+id/colored_bar"
android:layout_width="48dp"
android:layout_height="3dp"
android:background="@color/bar_red" />
provare questa uscita
<TableRow
android:layout_width="match_parent"
android:layout_marginTop="5dp"
android:layout_height="wrap_content">
<View
android:layout_width="15dp"
android:layout_height="15dp"
android:background="#3fe1fa" />
<TextView
android:textSize="12dp"
android:paddingLeft="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="1700 Market Street"
android:id="@+id/textView8" />
</TableRow>
Usa questo codice
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:radius="0.1dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
<solid android:color="#Efffff" />
<stroke
android:width="2dp"
android:color="#25aaff" />
</shape>
dicendo che XML significa tutto e niente, ad esempio ... – ShinTakezou
Qual è lo scopo dell'utilizzo di XML? drawRect funziona su Canvas, che di solito viene utilizzato per creare visualizzazioni personalizzate. – noob
Sono completamente in diagonale con @Creator, raramente utilizziamo Canvas a meno che non sia per qualcosa di un po 'più complesso. La versione XML semplifica la modifica dello sfondo dell'intera app per particolari elementi dell'interfaccia utente, come risultato della definizione degli attributi in un'unica posizione. –