2013-06-14 2 views
19

Ist es für eine Zeichenform in Android gültig, fill_parent für seine Größe zu verwenden?Kann bei einer Zeichnungsform die Größe auf fill_parent gesetzt werden?

<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval"> 

<solid 
     android:color="#666666"/> 

<size 
     android:width="fill_parent" 
     android:height="fill_parent"/> 
</shape> 

EDIT

Diese für den Hintergrund ImageButton Ansichten. Ich möchte, dass das Symbol für die Schaltfläche einen Kreis dahinter hat, aber ich weiß nicht immer, wie groß die Schaltfläche sein wird (unterschiedliche Größen pro Layout).

+4

Wenn Sie das gesamte Layout ausfüllen möchten, entfernen Sie die Größe Tag – Blackbelt

+0

Ich hätte nicht gedacht - in diesem Stadium sind sie nicht an eine Ansicht gebunden. Auch nach den Dokumenten sind nur Dimensionswerte gültig. –

+0

Danke Jungs, ich aktualisierte die Frage zu klären. – cgTag

Antwort

9

Nicht wirklich. Nicht mit ShapeDrawable allein. Wenn Sie das ShapeDrawable Dokument gehen, sehen Sie (Sie sie bereits in dem Tag mit), dass die einzigen gültigen Attribute gibt es px, dp, sp, in und mm

Ein Zitat aus dem doc: android:width="...."

Verfügbare Einheiten sind: px (Pixel), dp (dichteunabhängige Pixel), sp (scal ed Pixel basierend auf bevorzugte Schriftgröße), in (Zoll), mm (Millimeter) Dies ist für das Attribut true: android:height

Das ist Spekulation meinerseits, aber ich vermute, warum das fill_parent Attribut Wert wird nicht funktionieren, weil eine ShapeDrawble, im Gegensatz zu einer XML Layout Datei keinen übergeordneten Container haben wird.

die <size.... /> Weglassen Attribut vollständig und die layout_width und layout_height auf einem Widget Einstellung, die die genannten ShapeDrawable verweisen, ist die einzige Option, die ich vermute, (wenn die fill_parent geehrt werden ist).

+0

Wie kann ich es tun, ist es kein Code? –

+0

@VikrantAlekar: Sie müssen genauer sein. Ich verstehe deinen Kommentar nicht ganz. –

0

Wie planen Sie, diese Form zu verwenden? Sie können es als src oder Hintergrund für jede Ansicht festlegen und die Ansichtshöhe in "fill_parent" festlegen - das ist üblicher.

+0

Was, wenn Sie möchten, dass Ihre Form am unteren Rand der Elternansicht sitzt –

0

Sie können es nicht aus der XML-Datei tun, aber Sie können es aus der Java-Datei tun. Verwenden Sie einfach

public final void resize (float width, float height)

+0

resize() auf welches Objekt? –