Java 动态居中线性布局
我有以下动态创建可点击图像视图的代码(取决于您可以将其设置为2x2 3x3 4x4等的值) 一切正常,除了我希望图像视图居中,现在它们从屏幕左侧开始。我希望整个ImageView集合位于屏幕中央Java 动态居中线性布局,java,android,dynamic,position,center,Java,Android,Dynamic,Position,Center,我有以下动态创建可点击图像视图的代码(取决于您可以将其设置为2x2 3x3 4x4等的值) 一切正常,除了我希望图像视图居中,现在它们从屏幕左侧开始。我希望整个ImageView集合位于屏幕中央 private void maakLayout() { LinearLayout linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL); LinearL
private void maakLayout() {
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams =
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.gravity = Gravity.CENTER_HORIZONTAL;
linearLayout.setLayoutParams(layoutParams);
setContentView(linearLayout);
TextView textView = new TextView(this);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, (2) * 10);
textView.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams layoutTextParams =
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
layoutTextParams.topMargin = 50;
layoutTextParams.bottomMargin = 50;
textView.setLayoutParams(layoutTextParams);
textViewScore = textView;
linearLayout.addView(textView);
int k = 0;
for (int i = 0; i < RASTER; i++) {
LinearLayout linearLayout1 = new LinearLayout(this);
//linearLayout1.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(layoutParams);
layoutParams1.gravity = Gravity.CENTER_VERTICAL;
LinearLayout.LayoutParams layoutImageParams =
new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
linearLayout1.setLayoutParams(layoutImageParams);
linearLayout.addView(linearLayout1);
for (int j = 0; j < RASTER; j++) {
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.back);
imageView.setTag(k);
imageView.setBackgroundResource(R.drawable.border_gray);
LinearLayout.LayoutParams layoutImageParams1 =
new LinearLayout.LayoutParams(70, 70);
layoutImageParams.topMargin = 2;
layoutImageParams.leftMargin = 2;
layoutImageParams1.gravity = Gravity.CENTER_HORIZONTAL;
imageView.setLayoutParams(layoutImageParams1);
imageView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
klikopknop((ImageView) v);
}
});
knoppen[k] = imageView;
linearLayout1.addView(imageView);
k++;
}
}
}
private void maakLayout(){
LinearLayout LinearLayout=新的LinearLayout(本);
linearLayout.setOrientation(linearLayout.VERTICAL);
LinearLayout.LayoutParams LayoutParams=
新建LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_父级,
ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.gravity=重心水平;
linearLayout.setLayoutParams(layoutParams);
setContentView(线性布局);
TextView TextView=新的TextView(此);
textView.setTextSize(TypedValue.COMPLEX\u UNIT\u SP,(2)*10);
textView.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams LayoutExtParams=
新建LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_父级,
ViewGroup.LayoutParams.WRAP_内容);
layoutTextParams.topMargin=50;
layoutTextParams.bottomMargin=50;
setLayoutParams(layoutTextParams);
textViewScore=textView;
linearLayout.addView(文本视图);
int k=0;
对于(int i=0;i
将ImageView的width LayoutParams设置为MATCH_PARENT
,将scaleType设置为居中
使用Realtive layout并将ImageView置于相对布局中。然后在父项中添加规则RelativeLayout.CENTER