2013-11-28 151 views
1
佈局

請幫我解決這個問題:麻煩與我的應用程序

http://s27.postimg.org/bp1txpnoj/Capture.png

XML代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/LinearLayout2" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".Main_Page" > 

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="16dp" 
    tools:listitem="@android:layout/simple_spinner_dropdown_item" /> 

</LinearLayout> 

這是我的應用程序的代碼的main.xml。代碼已從「相對」改爲「LinearLayout」

+5

請發表您的佈局代碼 – kai

+0

所以你添加通過代碼的按鈕,你的活動?這和你發佈的圖片不一樣。 – kai

+0

是的,因爲當我從微調框中選擇不同的選項時,組件也應該改變。如果你能建議一個更好的方法來做它,請讓我知道。 –

回答

0

使用LayoutInflator並在選擇微調器中的不同值時將視圖充滿到主視圖。

//主要佈局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/main_layout_id"> 

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="16dp" 
    tools:listitem="@android:layout/simple_spinner_dropdown_item" /> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/insert_Layout"> 
</LinearLayout> 

</LinearLayout> 

//佈局2

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:id="@+id/layout_item_id"> 

    <TextView android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="Hello, this is the inflated text :D" 
       android:layout_gravity="center" 
       android:gravity="center_horizontal" 
       android:id="@+id/text_item_id"/> 
</LinearLayout> 

//調用從XML

linearLayout inset_layout= (LinearLayout)findViewById(R.id.insert_Layout); 

主要佈局/創建一個視圖以膨脹layout_item(帶有之前創建的textView的xml)

View view = getLayoutInflater().inflate(R.layout.layout_item, mainLayout,false); 

//添加到郵件佈局

mainLayout.addView(view); 

希望這有助於:)

+0

這是連接多個佈局的代碼嗎? –

+0

是的,代碼會動態擴展主佈局中的佈局2.您可以在主佈局中擁有多個佔位符,並相應地擴展不同的佈局。 http://developer.android.com/reference/android/view/LayoutInflater.html – Sujay

+0

thx老兄如果你不介意可以幫我用這個(http://stackoverflow.com/q/20280272/3026643) –