2012-02-10 12 views
14

ねえエディットボックスの高さと幅をプログラムでアンドロイドで管理しようとしましたedittext.setWidth(32);edittext.setEms(50);両方が動作しません。アンドロイドEditTextボックスの高さと幅をプログラムでアンドロイドで設定する方法

private EditText createEditText() 
    { 
     final LayoutParams lparams = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT); 
     final EditText edittext = new EditText(this); 
     edittext.setLayoutParams(lparams); 
     edittext.setWidth(32); 
     edittext.setEms(50); 
     return edittext; 
    } 

答えて

21
private EditText createEditText() 
{ 
    final LayoutParams lparams = new LayoutParams(50,30); // Width , height 
    final EditText edittext = new EditText(this); 
    edittext.setLayoutParams(lparams); 
    return edittext; 
} 

でのEditTextはこれを試してみてください。私にとって

Display display = getWindowManager().getDefaultDisplay(); 
    int screenWidth = display.getWidth(); 
    int screenHeight = display.getHeight(); 

profile_pic.getLayoutParams().height=(screenHeight/6); 
    profile_pic.getLayoutParams().width=(screenHeight/6); 
+5

:-(... – Mann

+2

ViewGroup.LayoutParamsをインポートする必要が – MRK

10
edittext.getLayoutParams().width=32; 
+0

は、そのが正しく動作して感謝?どの 'LayoutParams'をインポートする –

+6

は、これは私NullPointerExceptionsがの原因となるので、多くのuに感謝 – JerabekJakub

6
DisplayMetrics metrics = new DisplayMetrics(); 
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); 
wm.getDefaultDisplay().getMetrics(metrics); 
final float height = metrics.heightPixels; 

EditText edittext = new EditText(this); 

edittext.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,(int) (height/2))); 
-2

は、次のコードを試してみてください。例えば

lparams.width = 32; 
1
RelativeLayout.LayoutParams.width = 32; 
RelativeLayout.LayoutParams.height = 50; 

作品 - :

0
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) edittext.getLayoutParams(); 
      params.width = mScreenWidth/5; 
      params.height = mScreenWidth/5; 
      edittext.setLayoutParams(params); 
関連する問題