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