2011-09-30 47 views
0

我在TableLayout中遇到问题,宽度问题。我尝试了很多搜索,但我得到的只是使用xml的解决方案。我正在编程。这是我在做什么Android开发中的TableLayout

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    TableLayout table = new TableLayout(this); 
    table.setStretchAllColumns(true); 
    table.setShrinkAllColumns(true); 


    TableRow tableTitle = new TableRow(this); 
    tableTitle.setGravity(Gravity.CENTER_HORIZONTAL); 

    TableRow name = new TableRow(this); 
    TableRow password = new TableRow(this); 
    TableRow button = new TableRow(this); 

    TextView empty = new TextView(this); 

    TextView title = new TextView(this); 
    title.setText("Hello table layout"); 
    title.setGravity(Gravity.CENTER_HORIZONTAL); 

    TextView txtUname = new TextView(this); 
    txtUname.setText("Username"); 

    TextView txtPass = new TextView(this); 
    txtPass.setText("Password"); 


    EditText uname = new EditText(this); 
    EditText pass = new EditText(this); 

    Button login = new Button(this); 
    login.setText("Login"); 

    name.addView(txtUname); 
    name.addView(uname); 

    password.addView(txtPass); 
    password.addView(pass); 

    button.addView(empty); 
    button.addView(login); 

    table.addView(name); 
    table.addView(password); 
    table.addView(button); 

    table.setColumnShrinkable(0, true); 

    setContentView(table); 
} 

我想缩小第一列。我应该在这段代码中添加什么?

任何帮助!

回答

0

你应该考虑移动你的布局XML文件。这会让你的生活更轻松。

仅使第一列可收缩替换setShrinkAllColumns(true)setColumnShrinkable(0, true)

+0

谢谢,这是有效的。作为程序员,我想编写代码。而在做事情动态的时候,我猜XML文件无济于事。 – bunkdeath

+0

我在代码中看不到任何“动态”,无法用布局完成。而且你的代码会更清晰,更易于阅读。 – inazaruk

+0

这里没有动态代码,虽然这可能是开始创建动态表单 – bunkdeath