是否有方法在屏幕底部以編程方式添加視圖(無論屏幕大小)?我不需要任何解決方法和xml和/或佈局,只需以編程方式查找屏幕底部並在活動內部放置視圖即可。Android:添加視圖以編程方式在屏幕底部添加視圖
在此先感謝。
是否有方法在屏幕底部以編程方式添加視圖(無論屏幕大小)?我不需要任何解決方法和xml和/或佈局,只需以編程方式查找屏幕底部並在活動內部放置視圖即可。Android:添加視圖以編程方式在屏幕底部添加視圖
在此先感謝。
View view = new View(this)
創建新的視圖
layout.addView(view)
應在底部添加視圖。您還可以添加LayoutParams來設置寬度/高度,或者添加像layout_below
這樣的規則。
這意味着OP知道有問題的容器的正確佈局規則,這在運行時可能很難確定。 – CommonsWare 2014-08-27 11:42:50
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);
}
好的我找到了答案,我張貼在這裏,以防其他人需要這個。
//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刪除它,然後設置徘徊
「我不需要任何解決方法或xml和/或佈局 - 你的證明是,究竟是什麼? – CommonsWare 2014-08-27 11:38:35
其實你完全通過使用xml定義的佈局,你拒絕去做 我只能建議給一個FrameLayout添加一個子例子,解釋爲什麼XML在這裏不好? – Jitsu 2014-08-27 11:40:20
事情是我有一個父活動,帶有一個activity_main.xml和另一個活動通過activity_blabla.xml繼承父項。父活動包含一個稱爲內容的佈局,並在那裏以編程方式加載activity_blabla.xml,因此在activity_blabla底部放置一個視圖不會在屏幕底部結束,因爲activity_main會將其他東西放在下面..我想要的是在此特定活動放置在底部的東西。請不要在acvity_main上添加這個視圖。我需要知道我所問的只是可能的。 – 2014-08-27 11:50:39