我學會了如何使用XML文件創建UI。但請幫助我瞭解如何以編程方式執行此操作,而不使用XML文件,特別是對於LinearLayout以外的其他用戶。以編程方式安裝TableLayout
4
A
回答
14
使用下面的代碼來創建TableLayout
TableLayout tbl=new TableLayout(context);
使用下面創建錶行
TableRow tr=new TableRow(context);
添加視圖到錶行
tr.addView(view);
查看這裏可能是一個TextView或EditText上或等..
添加錶行到TableLayout
tbl.addView(tr);
就像你可以添加更多的錶行到表佈局。
4
下面的代碼示例給出Here。
public class tablelayout extends Activity implements OnClickListener {
/** Called when the activity is first created. */
//initialize a button and a counter
Button btn;
int counter = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setup the layout
setContentView(R.layout.main);
// add a click-listener on the button
btn = (Button) findViewById(R.id.Button01);
btn.setOnClickListener(this);
}
// run when the button is clicked
public void onClick(View view) {
// get a reference for the TableLayout
TableLayout table = (TableLayout) findViewById(R.id.TableLayout01);
// create a new TableRow
TableRow row = new TableRow(this);
// count the counter up by one
counter++;
// create a new TextView
TextView t = new TextView(this);
// set the text to "text xx"
t.setText("text " + counter);
// create a CheckBox
CheckBox c = new CheckBox(this);
// add the TextView and the CheckBox to the new TableRow
row.addView(t);
row.addView(c);
// add the TableRow to the TableLayout
table.addView(row,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
}
0
| * |表佈局使用Java代碼3×3個按鈕:在tblRowCwtVal在tblColCwtVal
設置字符串
列的 集數排
集數|在tblAryVar中繪製
在這個例子中,我們使用了每個表格視圖的按鈕。您可以使用TextView | ImageView的和修改相應
int tblRowCwtVal = 3;
int tblColCwtVal = 3;
int[][] tblAryVar =
{
{R.drawable.ic_name, R.drawable.ic_name, R.drawable.ic_name},
{R.drawable.ic_name, R.drawable.ic_name, R.drawable.ic_name},
{R.drawable.ic_name, R.drawable.ic_name, R.drawable.ic_name}
};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.srn_nam_uic);
namRelLyoVar = (RelativeLayout) findViewById(R.id.NamSrnLyoUid);
TableLayout namTblLyoVar = new TableLayout(this);
TableLayout.LayoutParams tblLyoRulVar = new TableLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
TableRow.LayoutParams btnLyoRulVar = new TableRow.LayoutParams(50,50);
for(int tblRowIdxVar = 0; tblRowIdxVar < tblRowCwtVal; tblRowIdxVar++)
{
TableRow tblRowVar = new TableRow(this);
for(int tblColIdxVar = 0; tblColIdxVar < tblColCwtVal; tblColIdxVar++)
{
Button namIdxBtnVar = new Button(this);
Drawable DrwablIdxVar = getResources().getDrawable(tblAryVar[tblRowIdxVar][tblColIdxVar]);
DrwablIdxVar.setColorFilter(Color.rgb(0,128,0), PorterDuff.Mode.SRC_IN);
namIdxBtnVar.setBackground(DrwablIdxVar);
tblRowVar.addView(namIdxBtnVar, btnLyoRulVar);
}
namTblLyoVar.addView(tblRowVar, tblLyoRulVar);
}
namTblLyoVar.setLayoutParams(tblLyoRulVar);
namRelLyoVar.addView(namTblLyoVar);
}
相關問題
- 1. Android以編程方式創建TableLayout
- 2. 以編程方式創建TableLayout
- 3. 以編程方式滾動TableLayout
- 4. 以編程方式訂購TableLayout列值
- 5. 以編程方式安裝android事件
- 6. 安裝Android APK以編程方式
- 7. 以編程方式安裝字體
- 8. 以編程方式安裝Android容器
- 9. 如何以編程方式安裝.ipa
- 10. 以編程方式安裝apk
- 11. 以編程方式安裝Windows服務
- 12. 以編程方式安裝.mobileconfig
- 13. 以編程方式安裝Firefox插件
- 14. 以編程方式安裝Windows服務
- 15. 以編程方式安裝應用程序快捷方式
- 16. 以編程方式執行安裝時出現安裝失敗
- 17. 在安裝MyFbApp.apk之前以編程方式安裝facebook.apk
- 18. 以編程方式安裝在棉花糖上的APK安裝
- 19. 可以以編程方式安裝Windows Phone語言語言嗎?
- 20. 以編程方式安裝IIS7的更好方法
- 21. 以編程方式確定ClickOnce安裝模式
- 22. 如何以編程方式安裝iOS應用程序?
- 23. Android在後臺以編程方式安裝應用程序
- 24. 以編程方式從內存中安裝應用程序
- 25. 以編程方式將程序集安裝到GAC中
- 26. Bouncycastle以編程方式安裝提供程序
- 27. 以編程方式從C#應用程序安裝Apk文件
- 28. 如何以編程方式安裝屏幕保護程序?
- 29. 以編程方式安裝篩選器驅動程序?
非常感謝你..... –
它正在正常工作,但不顯示活動畫面上的任何輸出......這裏是我的代碼 –
的LayoutParams PARAMS =新LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)\t \t TableLayout layout = new TableLayout(this); TableLayout.LayoutParams layoutparams = new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT); TableRow tablerow = new TableRow(this); TextView tv = new TextView(this); tv.setText(「Demo for TableLayout」); tv.setLayoutParams(params); EditText et = new EditText(this); et.setHint(「Enter Text」); et.setLayoutParams(params); tablerow.addView(tv); tablerow.addView(et); layout.addView(tablerow); this.addContentView(layout,layoutparams); –