Android 视图布局怪异
有谁能告诉我为什么会这样吗 我要做的是让它们都居中对齐,不管有多少个。它在相当多的时间内工作得很好,甚至只在1个以上的时间内工作,但4个似乎可以做到这一点。我将它们添加到代码中,如下所示:Android 视图布局怪异,android,android-linearlayout,android-view,layoutparams,Android,Android Linearlayout,Android View,Layoutparams,有谁能告诉我为什么会这样吗 我要做的是让它们都居中对齐,不管有多少个。它在相当多的时间内工作得很好,甚至只在1个以上的时间内工作,但4个似乎可以做到这一点。我将它们添加到代码中,如下所示: LinearLayout guessHolders = (LinearLayout)findViewById(R.id.guessHolders); guessHolders.removeAllViews(); currentLetterPosition = 0; fina
LinearLayout guessHolders = (LinearLayout)findViewById(R.id.guessHolders);
guessHolders.removeAllViews();
currentLetterPosition = 0;
final Bitmap emptyLetterHolder = BitmapFactory.decodeResource(getResources(), R.drawable.letter_holder);
for(int i=0; i<Globals.mUser.getLevel().getSolution().length(); i++)
{
final EmptyLetter tmp = new EmptyLetter(this, i);
tmp.setImageBitmap(emptyLetterHolder);
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(Globals.defaultLetterSizes[mBlockSize],
Globals.defaultLetterSizes[mBlockSize], 1);
parms.weight = 1;
parms.gravity = Gravity.CENTER_HORIZONTAL;
tmp.setLayoutParams(parms);
tmp.setAdjustViewBounds(false);
tmp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("PP2", tmp.getId() + " << the clicked empty letter holder id");
currentLetterPosition = tmp.getId();
tmp.setImageBitmap(emptyLetterHolder);
setChosenLetter(tmp.getId(), '\u0000');
}
});
currentEmpties.add(tmp);
guessHolders.addView(tmp);
}
LinearLayout guessHolders=(LinearLayout)findViewById(R.id.guessHolders);
guessHolders.removeallview();
currentLetterPosition=0;
最终位图emptyLetterHolder=BitmapFactory.decodeResource(getResources(),R.drawable.letter_holder);
对于(int i=0;i修正了它。如下所示:
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(Globals.defaultLetterSizes[mBlockSize],
Globals.defaultLetterSizes[mBlockSize], 0);
parms.gravity = Gravity.CENTER_HORIZONTAL;
tmp.setLayoutParams(parms);
因此,我将权重设置为零,剩下的留给操作系统。现在对所有操作系统都有效。太棒了
干杯当设置重量时,加权尺寸必须是0dp宽/高相对值,而不是线性布局,并查看发生了什么相对值不能使用重量属性如果我将宽度/高度设置为0dp,则完全没有显示-我不认为亲属可以使用加权。@DerGolem我知道,他必须更改整个代码,如果他想使用RelativeLayout,无论如何,很高兴它成功了。