2016-10-17 65 views
0

我有Android的EditText小部件的问题。在代码中,我设置了按像素的宽度。但是,当用户关注并尝试输入文本时,editText小部件会发生更改。我们如何解决这个问题? 请参阅视频以了解我的问题。 VIDEOAndroid EditText宽度变化

注意:不需要使用错误。如果你有些不明白,请在这里提问,并提供更多细节。谢谢。

float[] sizes = calculateMaxWidthAnswer(answer); 

    this.editTextWidth = sizes[0]; 
    this.editTextHeight = sizes[1]; 

    editText.setWidth((int) editTextWidth); 
    editText.setHeight((int) editTextHeight); 


protected float[] calculateMaxWidthAnswer(String item) { 
    CustomKeyboardEditText cKE = new CustomKeyboardEditText(getContext(), isDisabledCustomKeyboard); 
    cKE.setSingleLine(true); 
    cKE.setTypeface(Typeface.DEFAULT_BOLD); 
    cKE.setText(item); 
    Paint mPaint = cKE.getPaint(); 
    Rect bounds = new Rect(); 
    mPaint.getTextBounds(item, 0, item.length(), bounds); 
    float size = bounds.width() + MathTool.dpToPx(cKE.PADDING_LR * 3); 

    return new float[]{size, bounds.height()}; 
} 

CustomKeyboardEditText小部件,任何代码,它可以使这个麻烦。

+2

你能告诉我们一些代码吗? – MeLine

+0

@MeLine更新 –

+1

如果我想改变一个视图的宽度,我会使用view.getLayoutParams()。Width = ... – Nanoc

回答

0

问题由LayoutParams解决。谢谢大家。