Android ViewGroup中addView方法使用

Android 中ViewGroup 中的添加子控件的方法addVIew方法

//child:要添加的view
public void addView(View child) ;

//child:要添加的View  index:view在父布局中位于第几个
public void addView(View child, int index);

//child:要添加的View  width/height:在父布局中的宽高
public void addView(View child, int width, int height);

//child:要添加的View  params:在父布局中的参数
public void addView(View child, LayoutParams params);
//child:要添加的View  ;index:view在父布局中位于第几个; params:在父布局中的参数
public void addView(View child, int index, LayoutParams params);

index 参数在linearlayout中使用addView的时候,如果Linearlayout方向是vertical 垂直, index代表添Linearlayout中第几个子view例如

布局文件:


<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.phone.test_addview.MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:id="@+id/content"
        >
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="1111111111"
            android:gravity="center"
            android:layout_margin="20dp"
            android:textSize="18sp"
            android:textColor="#f1f"
        />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="2222222222"
            android:gravity="center"
            android:layout_margin="20dp"
            android:textSize="18sp"
            android:textColor="#f1f"
            />
    LinearLayout>
LinearLayout>

Activity文件:

package com.phone.test_addview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LinearLayout content= (LinearLayout) findViewById(R.id.content);
        Button button =new Button(this);
        button.setText("确定");
        LinearLayout.LayoutParams param=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        param.gravity= Gravity.CENTER;
        content.addView(button,1,param);
    }
}

Android ViewGroup中addView方法使用_第1张图片

以上代码就是在两个TextView中间添加一个Button,index参数-1代表就是在最后添加,0代表第一个子元素,1是第二个以此类推

你可能感兴趣的:(Android基础知识)