2011-06-30 53 views
2

我想問一些關於addContentView命令的內容。 我已經在垂直模式和一些按鈕中創建了從LinearLayout(填充父項,換行內容)的自定義視圖。 我的問題是,如果可以通過使用addContentView命令將我的自定義視圖放置在屏幕的底部。addContentView在屏幕底部的android對齊嗎?

我現在使用addContentView,但我的自定義視圖放置在我的屏幕上方。 我已經試圖改變填寫父母的自定義視圖的高度,但然後我有一個全屏自定義視圖。

在此先感謝。

回答

0

您必須將LinearLayout包裝在其他佈局中。即一個RelativeLayout,並添加此addContentView。

<?xml version="1.0" encoding="utf-8"?>   
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <LinearLayout 
      android:id="@+id/yourLayout" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true"/> 

      <!-- Yout content --> 

     </LinearLayout> 
    </RelativeLayout> 
+0

忘了說,我不使用XML,但我動態地創建我的佈局。我想你不能使用LinearLayout中的layout_alignParentBottom =「true」,但是在RelativeLayout中.. – Nikitas

0
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:id="@+id/rl" 
    android:layout_height="360dip"> 
     <WebView android:id="@+id/webviewHelp" android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 
    <Button android:id="@+id/My_btn" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" android:gravity="center" 
     android:textSize="8px" android:text="Download this mp3 file" 
     android:textColor="@color/white" android:layout_width="fill_parent" 
     android:layout_height="27dip" /> 
    <Button android:id="@+id/My_btn1" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" android:text="this is button !" 
     android:layout_width="0dip" android:layout_height="0dip" 
     android:visibility="invisible" /> 
</RelativeLayout> 
2

嘗試與如下因素代碼

LayoutParams lp =new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     lp.gravity=Gravity.BOTTOM; 
     addContentView(b, lp); 

使用RelativeLayout也可以達到相同的。您可以添加規則來設置父視圖底部的視圖。

感謝

+2

我試過使用 LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.BOTTOM;但什麼都沒有發生......這就是爲什麼因爲佈局的高度是WRAP_CONTENT而佈局放置在屏幕的頂部 – Nikitas

11

解決方案是包裝在佔據整個屏幕的RelativeLayout您的自定義視圖,然後用addContentView添加。例如添加在屏幕底部的自定義按鈕:

// Fake empty container layout 
RelativeLayout lContainerLayout = new RelativeLayout(this); 
lContainerLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT , LayoutParams.FILL_PARENT)); 

// Custom view 
Button mCustomView = new Button(this); 
mCustomView.setText("Test"); 
LayoutParams lButtonParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT , LayoutParams.WRAP_CONTENT); 
lButtonParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
mCustomView.setLayoutParams(lButtonParams); 
lContainerLayout.addView(mCustomView); 

// Adding full screen container 
addContentView(lContainerLayout, new LayoutParams(LayoutParams.FILL_PARENT , LayoutParams.FILL_PARENT)); 

這應該使它