先定義出想要的控件,給這個控件里填加相應(yīng)的屬性,然后定義一個布局,把控件添加到布局里面,再把這個布局導(dǎo)入到界面里,代碼如下:
我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、八公山ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的八公山網(wǎng)站制作公司
RelativeLayout.LayoutParams
layoutParams
=
new
RelativeLayout.LayoutParams(100,
100);
layoutParams.topMargin=8;
layoutParams.leftMargin=8;
layoutParams.rightMargin=8;
layoutParams.bottomMargin=8;
insertLayout.addView(imgApple2,layoutParams);
Android 開發(fā)過程,可能會遇到依賴模塊太多,手動的添加修改依賴就會覺得有點(diǎn)麻煩,這個時候可以考慮使用動態(tài)添加模塊依賴,也是適用像 Jenkins 自動打包構(gòu)建,就不需要頻繁的去修改模塊依賴,提高構(gòu)建效率。
1、工程 settings.gradle 動態(tài)添加模塊工程
2、 app 模塊 build.gradle 依賴使用
Gradle dependencies: compile project by relative path
Android studio add external project to build.gradle
1、動態(tài)添加的時候?yàn)榻M件設(shè)置id,刪除的時候根據(jù)id查找到對應(yīng)組件,然后刪除
2、根據(jù)父節(jié)點(diǎn),獲取所有父組件下的子組件,然后依次刪除。
示例:
protected View createView() {//動態(tài)添加組件
Button btn = new Button(this);//動態(tài)創(chuàng)建按鈕
btn.setId(index++);
btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
btn.setText("aaaaaa" + index);
return btn;
}
private void removeView() {//動態(tài)刪除組件(按鈕)
//獲取linearlayout子view的個數(shù)
int count = linearLayout.getChildCount();
//研究整個LAYOUT布局,第0位的是含add和remove兩個button的layout
//第count-1個是那個文字被置中的textview
//因此,在remove的時候,只能操作的是0locationcount-1這個范圍的
//在執(zhí)行每次remove時,我們從count-2的位置即textview上面的那個控件開始刪除~
if (count - 2 0) {
//count-20用來判斷當(dāng)前l(fā)inearlayout子view數(shù)多于2個,即還有我們點(diǎn)add增加的button
linearLayout.removeViewAt(count - 2);
}
}
在布局中加入表格
TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/table1"
/TableLayout
之后再 MainActivity 中寫入動態(tài)添加的代碼
public void click(View v) {
if(row.getText().length()0column.getText().length()0){
//把輸入的行和列轉(zhuǎn)為整形
int row_int=Integer.parseInt(row.getText().toString());
int col_int=Integer.parseInt(column.getText().toString());
//獲取控件tableLayout
tableLayout = (TableLayout)findViewById(R.id.table1);
//清除表格所有行
tableLayout.removeAllViews();
//全部列自動填充空白處
tableLayout.setStretchAllColumns(true);
//生成X行,Y列的表格
for(int i=1;i=row_int;i++)
{
TableRow tableRow=new TableRow(MainActivity.this);
for(int j=1;j=col_int;j++)
{
//tv用于顯示
TextView tv=new TextView(MainActivity.this);
//Button bt=new Button(MainActivity.this);
tv.setText("("+i+","+j+")");
tableRow.addView(tv);
}
//新建的TableRow添加到TableLayout
tableLayout.addView(tableRow, new TableLayout.LayoutParams(MP, WC,1));
}
}else{
Toast.makeText(MainActivity.this,"請輸入數(shù)值",1).show();
}
}
增加父類布局,即要添加到的布局,如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout rl = (RelativeLayout)findViewById(R.id.rl);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.width = 200;
params.height = 200;
params.topMargin = 200;
params.leftMargin = 200;
ImageView view = new ImageView(getApplicationContext());
view.setBackgroundResource(R.drawable.ic_launcher);
rl.addView(view, params);
}
如下代碼:
LinearLayout layout = new LinearLayout(this);
TextView tx = new TextView(this);
tx.setText('我是動態(tài)添加的');
layout.addView(tx);
setContentView(layout);
這就動態(tài)添加了一個線性布局,并且在布局里面加了一個textview