2014-05-12 18 views
9

Ich muss die horizontale Position von Spinner's Dropdown-Liste ändern. hier ist der Screenshot:Ändern der Position der Spinner Dropdown-Liste

enter image description here

und ich mag diese Dropdown-Liste in einer Zeile unter dem Haupt-Symbol/Text gehen, damit es gut

Wie auf dem Bild aussehen:

enter image description here

hier ist, was ich in xml tun:

<Spinner 
    android:id="@+id/tvHeader" 
    style="@style/spinner_style" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/ver_main_donate_background_tile_long" 
    android:layout_alignTop="@+id/ver_main_donate_background_tile_long" 
    android:layout_marginTop="5dp" 
    android:layout_toRightOf="@+id/icon_main_header" 
    android:spinnerMode="dropdown" 
    android:dropDownHorizontalOffset="-15dp" 
    android:gravity="left|center_vertical" 

    android:text="@string/name_of_product" /> 

so, als nehme ich an,

android:spinnerMode="dropdown" 
android:dropDownHorizontalOffset="-15dp" 

sollte es tun, aber wie man auf dem Screenshot sehen es nicht

+0

Haben Sie es geschafft, dies herauszufinden? –

+0

ich nicht scheinen, was Sie eigentlich ändern möchten @AnubianNoob – Elltz

+0

Das Dropdown ist nicht mit dem Spinner im ersten Bild ausgerichtet. Ich habe das gleiche Problem. Die Einstellung des horizontalen Offsets auf negativ scheint das Problem nicht zu lösen, das Drop-Down-Menü kann nicht weiter nach links verschoben werden. –

Antwort

1

Verwenden funktioniert dies auf die Schaltfläche machen, wie Sie

wollen
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME); 
    getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent))); 
    getSupportActionBar().setCustomView(R.layout.custom_actionbar); 

und das ist das Kostüm Layout

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center|right" 
    android:paddingBottom="3dp" 
    android:paddingLeft="3dp" 
    android:paddingRight="-6dp" 
    android:paddingTop="3dp" 
    android:src="@drawable/ic_launcher" /> 

<Button 
    android:id="@+id/mytext" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:gravity="left|center" 
    android:text="wheresmyTURF" 
    android:textColor="#ffff" 
    android:textSize="26sp" 
    app:customTypeface="fonts/pompiere.ttf" /> 

durch diese Sie die Aktionsleiste anpassen, so dass Sie einige Änderungen vornehmen können, wie Sie brauchen, denke ich ....

1

Sie könnten nur den Spinner ohne das Dreieck machen.

zunächst eine styles.xml Datei unter res/Werte erstellen, öffnen Sie es und fügen Sie folgendes:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style parent="@android:style/Widget.Spinner" 
name="SpinnerAsEditText"><item 
name="android:background">@android:drawable/edit_text</item> 
</style> 
</resources> 

nächstes in Ihrem Layout, fügen Sie den Spinner wie folgt aus:

<Spinner style="@style/SpinnerAsEditText" anyOtherAttributeYouNeed="..."></Spinner> 

Wenn Sie es so benutzen, sehen Sie wie ein EditText ohne das kleine Dreieck aus.

5

enter image description here

Sie können beobachten, dass die Listenelemente leicht rechts, von der Mutterausgerichtet sind So habe ich eine margin Attribut in Spinner Ansicht

android:layout_marginLeft="20dp" 

und das ist für mich gearbeitet, unten können Sie sehen Sie den Unterschied

enter image description here

+0

Was passiert, wenn ich den Spinner nicht verschieben möchte? Gibt es eine Möglichkeit, das Dropdown mit der Seite des Fensters auszurichten? –

+0

Ich denke, es gibt keinen anderen Weg – Abhishek

+0

Ich war sorta Hoffnung auf eine Erklärung dafür. Irgendeine Idee, warum es unmöglich ist? –

Verwandte Themen