1

자바로 버튼을 동적으로 만들고 몇 개의 제약 조건을 추가하여 constrainLayout의 중심에 위치 시키려고합니다.Android - 동적으로 크기 조정 UI 위젯

import android.app.Activity; 
import android.os.Bundle; 
import android.support.constraint.ConstraintLayout; 
import android.support.constraint.ConstraintSet; 
import android.widget.Button; 

public class SelectGameActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_select_game); 

    ConstraintSet constraintSet = new ConstraintSet(); 
    ConstraintLayout constraintLayout = findViewById(R.id.constraintLayout); 
    constraintSet.clone(constraintLayout); 

    Button button = new Button(this); 
    button.setText("test"); 
    button.setId(213); 
    constraintLayout.addView(button); 

    constraintSet.connect(button.getId(), ConstraintSet.LEFT, R.id.constraintLayout, ConstraintSet.LEFT); 
    constraintSet.connect(button.getId(), ConstraintSet.RIGHT, R.id.constraintLayout, ConstraintSet.RIGHT); 
    constraintSet.connect(button.getId(), ConstraintSet.TOP, R.id.constraintLayout, ConstraintSet.TOP); 
    constraintSet.connect(button.getId(), ConstraintSet.BOTTOM, R.id.constraintLayout, ConstraintSet.BOTTOM); 
    constraintSet.applyTo(constraintLayout); 
    } 
} 

그것은 작동하지만 버튼은 모든 화면을 채 웁니다 :

enter image description here

내 버튼을 특정 높이와 너비를 가지고 있지 않기 때문에 생각하는 그래서 나는이 코드를 작성합니다. 크기를 지정했지만 효과가없는 여러 코드를 시도했습니다. 누군가 내 버튼의 크기를 올바르게 조정할 수있는 힌트를 줄 수 있습니까?

대단히 감사합니다! 버튼의 크기를 설정

찰스

답변

1

시도는 다음과 같이 WRAP_CONTENT합니다 :

constraintSet.constrainHeight(button.getId(), ConstraintSet.WRAP_CONTENT); 
    constraintSet.constrainWidth(button.getId(), ConstraintSet.WRAP_CONTENT); 
+0

가 대단히 감사합니다, 나는 크기가 constraintSet도 것을 이해하지 못했다. – Comtention