2012-04-21 78 views
0

我有一個表格佈局,我已經在XML文件中靜態地聲明瞭一個按鈕。我在程序中動態添加行。我希望將按鈕設置在表格佈局的最後。 我嘗試過使用android:layout_gravity =「bottom」,但這並沒有幫助。在佈局的最底部設置按鈕 - Android 2.2

任何解決方案?

這是我的XML

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/list" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:scrollbars="horizontal|vertical" 
android:scrollbarStyle="outsideInset" > 
<TableLayout 
    android:id="@+id/table" 
android:layout_width="match_parent" 
android:layout_height="wrap_content"> 
    <Button 
     android:id="@+id/back" 
     android:layout_gravity="bottom" 
    /> 
</TableLayout> 
</ScrollView> 
+0

什麼是你的父母佈局 – 2012-04-21 03:28:57

+0

滾動型以下。我不認爲這是重要的。但仍然。 – CamelCase 2012-04-21 03:34:35

+0

你可以發佈你的XML文件。如果滾動視圖它必須包含一些佈局? – 2012-04-21 03:37:16

回答

0

我不知道它確切地適用於您,但您可以做的是使用remove命令刪除按鈕,然後在添加所有元素後在運行時添加它。

例子:

TableLayout tv = (TableLayout) findViewbyId(R.id.table_layout_id); 
    Button button = (Button) findviewbytid(R.id.button_id); 

可能是你需要你的按鈕佈局PARAM所以你可以很容易地得到它。

LayoutParams lp = button.getLayoutParams(); 

從佈局中刪除您的按鈕。

tv.removeView(button); 

在運行時添加所有視圖。

再次添加按鈕。

 tv.addView(button, lp); 

我havnt試過這段代碼,但我認爲它應該工作。在某些情況下,你不需要佈局參數,所以你可以忽略它。在表外

+0

我不認爲我可以在TableLayout上使用RemoveView – CamelCase 2012-04-21 04:15:12

+0

我只是檢查該功能是否有從表中刪除視圖。 – 2012-04-21 04:23:57

+0

如果您將在桌面佈局中使用完整的表格,那麼您可以將其完全取出並從表格中移除。之後,您可以隨時添加。在你的情況下,它將在最後。 – 2012-04-21 04:26:53

0

我不相信有一種方法來重新排列ViewGroup的孩子,不刪除兒童,並在適當的順序readding他們。如果一個ListView就足以代替TableLayout,它有一個addFooterView()方法可以實現你所追求的。

+0

我有我添加到TableLayout的TableRows。我應該如何將它們添加到ListView中?因爲我嘗試使用ListView,但它沒有工作。 – CamelCase 2012-04-21 03:36:13

+0

如果您有動態創建的TableRows,那麼您可以創建自定義適配器並將自己的錶行傳遞到自定義適配器中。您可以在「getView」方法中設置表格。 – 2012-04-21 04:05:08

+0

如果您在xml文件中創建了TableRows,那麼您可以在自定義適配器中的「getView」方法中輕鬆地增加行數,然後在listview中設置您的表格。 – 2012-04-21 04:06:18

0

放按鈕和滾動視圖...... 我的意思是滾動視圖