Android:在屏幕底部以编程方式添加视图

时间:2014-08-27 11:37:15

标签: android view add

有没有办法以编程方式在屏幕底部添加视图(无论屏幕大小是多少)?我不需要任何解决方案或xml和/或布局的解决方案,只需以编程方式找到屏幕的底部并在活动中放置一个视图。

提前致谢。

3 个答案:

答案 0 :(得分:0)

View view = new View(this)创建新视图

layout.addView(view)应在底部添加视图。您还可以添加LayoutParams来设置宽度/高度,或者添加layout_below之类的规则。

答案 1 :(得分:0)

 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_dynamic_views);
 // This is in your xml
 LinearLayout ll=(LinearLayout)findViewById(R.id.footer);
 // Now we will create dynamic footer 
 final LinearLayout dynamic_footer=new LinearLayout(this);
 dynamic_footer.setOrientation(LinearLayout.Horizontal);
 ll.addView(dynamic_footer);
 Button add_btn=new Button(this);
 add_btn.setText("I am footer button");
 dynamic_footer.addView(add_btn);

 TextView tv=new TextView(getApplicationContext());
 tv.setText("Hello World");
 dynamic_footer.addView(tv);
 EditText et=new EditText(getApplicationContext());
 dynamic_footer.addView(et); 

 }

答案 2 :(得分:0)

好的我找到了答案,我会把它贴在这里以防其他人需要这个。

//find screen size
       Display display = getWindowManager().getDefaultDisplay();
       Point size = new Point();
       display.getSize(size);
       int height = size.y;



  //set layout margin top depeding on screen size
  layout = (LinearLayout) findViewById(R.id.theViewForTheBottom);
       LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)layout.getLayoutParams();
       params.setMargins(0, height , 0, 0); 
       layout.setLayoutParams(params);

请注意,如果要放置在底部的视图不是从屏幕顶部开始,则必须执行此过程从顶部计算dp距离,将其从dp中的屏幕大小中删除,然后设置marging