코드를 통해 레이아웃 파라미터를 설정하고 레이아웃을 추가합니다

2781 단어
코드로 레이아웃 매개변수 설정하기
1) 레이아웃 매개 변수는 상위 컨트롤에 추가된 경우에만 가져올 수 있으며 포인터가 비어 있습니다.getLayoutParams(), addView()
2) 다른 쓰기:
4
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) tv.getLayoutParams();
params.setMargins(50, 0, 0, 0);
이때 setLayoutParams() 방법을 다시 사용하지 않아도 된다. 획득한 params 자체가 tv의 레이아웃 파라미터이기 때문이다.(직접 new 레이아웃 매개 변수 대상)
3) 패키지 아래의 레이아웃 매개변수를 확인합니다.
4) 이해:
tv = (TextView) findViewById(R.id.tv);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) tv.getLayoutParams();
getLayoutParams();             ?
         (          )

1)      ,  xml  margin ;
2) Activity   java    margin     
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) tv.getLayoutParams();
//          
params.setMargins(20, 50, 20, 20);

5) LayoutParams는 Layout의 위치, 높이, 너비 등의 정보를 봉인하는 Layout의 정보 패키지에 해당한다.만약에 화면 위의 한 구역이 하나의 Layout이 점령한다고 가정하면 만약에 하나의 View를 하나의 Layout에 추가하면 Layout 사용자가 원하는 레이아웃 방식, 즉 인정된layoutParams를 전달하는 것을 알려주는 것이 가장 좋다.그러나 LayoutParams류도 넓이와 높이를 간단하게 묘사했을 뿐이다. 넓이와 높이는 모두 세 가지 값으로 설정할 수 있다. 하나, 확실한 값이다.2,FILL_PARENT(상위 컨테이너와 같은 크기)로 채워집니다.3,WRAP_CONTENT, 즉 구성 요소를 감싸면 됩니다.
코드는 다음과 같습니다.
package com.example.tuhuadmin.fanxinglei.widget;

import android.graphics.Color;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.example.tuhuadmin.fanxinglei.R;
import com.example.tuhuadmin.fanxinglei.utils.DensityUtils;

/**
 * Created on 2016/8/16.
 * Author:crs
 * Description:          
 */
public class AddChildViewActivity extends BaseActivity {

    private LinearLayout ll_gifts;
    String gerRule[] = {" 100 9", " 1000 9", " 1000 91"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_child);
        ll_gifts = (LinearLayout) findViewById(R.id.ll_gifts);


        initView(gerRule);
    }

    private void initView(String gerRule[]) {
        int length = 2;
        int textSizePX = DensityUtils.sp2px(this, 5);
        for (int i = 0; i < length; i++) {
            String str = gerRule[i];
            TextView tv = new TextView(this);
            tv.setTextSize(textSizePX);
            tv.setBackgroundResource(R.drawable.shape);
            tv.setTextColor(Color.parseColor("#df3348"));
            tv.setPadding(50, 50, 50, 50);
            tv.setText(str);
            ll_gifts.addView(tv);
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
            params.setMargins(50, 0, 0, 0);
            tv.setLayoutParams(params);
        }
    }
}

좋은 웹페이지 즐겨찾기