在代码中设置 layout_width、layout_height

layout_width layout_height 可以直接在 xml中设置,比如

 

 

但是如何在java代码中设置 layout_width、layout_height呢?代码如下

 

 public class BBB extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bbb); LinearLayout layout = (LinearLayout)findViewById(R.id.layoutInputs2); layout.setLayoutParams(new LinearLayout.LayoutParams(0,0)); } } 

 

注意,在sdk中,我们查询到 view.setLayoutParams() 的参数是 ViewGroup

但是我们如果真的这样设置的话

 

  layout.setLayoutParams(new  ViewGroup.LayoutParams(0,0));

  就会在 Logcat中发现有异常

ClassCastException: android.view.ViewGroup$LayoutParams

 

查询 SDK 的reference,我们会发现 LineLayout是继承ViewGroup的,layoutInputs2的低级容器是 LineLayout, 

所以在 setLayoutParams需要具体指定是是LineLayout中的LayoutParams < new  LinearLayout.LayoutParams(0,0)>

 

http://www.mail-archive.com/[email protected]/msg19234.html

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(android)