我對android編程頗爲陌生,但對java並不陌生。當我分割xml佈局時呈現的視圖不同
我一直在嘗試設置一個不平凡的視圖,而且我有一個奇怪的問題。我設計了一個水平滾動單個播放器面板的佈局(它是另一個ScoreKeeper)
所以我創建了一個playermain.xml,帶有HorizontalScrollView和LinearLayout以包含動態添加的播放器面板,它們是TableLayout。
我想playerpanel按鈕和領域延伸到垂直消耗所有可用打空間(我也有水平的一些目標,但讓我們忽略那些現在)
沒有我想會得到播放面板伸展 - 相反,他們居中,但不填。奇怪的是,我嘗試了一個快速測試,即創建一個平面版本的xml文件(即,我將playerpanel xml的兩個副本複製到主要xml中,當我簡單地將ContentView設置爲這個組合xml時,我得到視圖我想要
當我以編程方式進行編程時,我沒有得到延伸,我必須在這裏丟失一些東西。我也可以發佈組合的XML,但我認爲這是不必要的,基本上當我創建一個單一的XML當我用一個xml文件創建Scroll/Layout,然後將其他項目添加到頂層LinearLayout中時,它們不會伸展。
onCreate:使用Scrolls,Layout和Tablelayouts創建文件, < ---- SNIP ----->
setContentView(R.layout.playingmain);
final LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout llayout = (LinearLayout)findViewById(R.id.layout1);
TableLayout tl = (TableLayout)inflater.inflate(R.layout.playerpanel, null);
InitializePlayer(player1,tl);
llayout.addView(tl);
< ---- SNIP ----->
MAINPANEL.XML
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="horizontal"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:isScrollContainer="true"
android:scrollbarAlwaysDrawHorizontalTrack="true"
android:gravity="center"
>
</LinearLayout>
</HorizontalScrollView>
個人Panel.xml:
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5sp"
android:stretchColumns="*"
android:minWidth="200sp"
>
<TableRow
android:id="@+id/NameRow"
android:minWidth="500sp"
android:layout_weight = "1"
>
<TextView
android:id="@+id/PlayerName"
android:text="PlayerName"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<TextView
android:id="@+id/dbg1"
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</TableRow>
<TableRow
android:id="@+id/scoreRow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight = "1"
>
<TextView
android:id="@+id/currentScore"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="10"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<TextView
android:id="@+id/dbg2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="TextView"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow17"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight = "1"
>
<Button
android:id="@+id/subtractButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="-"
/>
<EditText
android:id="@+id/scoreEntry"
android:layout_span = "2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="number" />
<Button
android:id="@+id/addButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="+"
/>
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight = "1"
>
<Button
android:id="@+id/plusOne"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="+1" />
<Button
android:id="@+id/plusFive"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="+5" />
<Button
android:id="@+id/minusOne"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="-1" />
<Button
android:id="@+id/minusFive"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="-5" />
</TableRow>
</TableLayout>
感謝您的輸入,但是,我找到了根本原因。當我添加充氣的.xml文件時,我沒有指定父文件,這導致我的「match_parent」屬性無法應用。這在用戶界面中有記錄 – akameswaran 2011-12-31 13:57:30