簡體   English   中英

如何以編程方式使用LinearLayout子元素在Gridlayout中設置Colspan?

[英]How to set Colspan in Gridlayout using LinearLayout Child elements programmatically?

我目前正在嘗試為Android應用程序創建Windows 8開始菜單(如GUI),以顯示可以觸摸的不同塊。 為此,我正在使用GridLayout並繼續從xml文件的for循環中添加子元素。 到目前為止,一切正常。 我的問題是,我實現了不同大小的圖塊,以至於存在正常(二次)圖塊和水平拉伸圖大小兩倍的圖塊。 這些較大的圖塊可以正確顯示,但是由於缺少colSpan,因此在較大圖塊上方和下方均存在白色間隙。

II II II II    II II II
II II II XXXXX II II II
II II II II    II

抱歉,我還不能添加圖像,但是在較大圖塊(XXXX)的上方和下方,可以用另一個圖塊填充空間,以使整個外觀看起來更好:

II II II II II II II II
II II II XXXXX II II II
II II II II II

這是添加磁貼時的代碼:

// GridLayout design
GridLayout gl = (GridLayout) findViewById(R.id.main_grid_layout);


// Kachel design
LinearLayout kachel = new LinearLayout(this);
kachel.setBackgroundResource(getBackgroundOfCategory(kategorieid));
kachel.setOrientation(LinearLayout.VERTICAL);

// Small and bigger kacheln
LinearLayout.LayoutParams kachelLP = new LinearLayout.LayoutParams(320,320);
if(size == 1) {
    kachelLP = new LinearLayout.LayoutParams(640,320);   
}

kachelLP.setMargins(10,10,10,10);
kachel.setLayoutParams(kachelLP);
kachel.setClickable(true);
// Kachel actions
kachel.setOnClickListener(new KachelOnClickListener(kachelid, getResources(), getBaseContext()));

...

任何幫助深表感謝!

您將需要使用GridLayout的LayoutParam的columnspec屬性。 如果您的需求是靜態的,也可以在xml(android:layout_columnSpan =“ 2”)中定義colspan。

請在這里找到相同的。 http://developer.android.com/reference/android/widget/GridLayout.LayoutParams.html

這是一個相關的問題。 以編程方式設置GridLayout的子級的rowSpan或colSpan?

可以在此處找到更多幫助。 http://android-developers.blogspot.in/2011/11/new-layout-widgets-space-and-gridlayout.html

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM