0

これは私のコードです:

LinearLayout llgrower= new LinearLayout(this);
int percent_x=80,percent_y=10;
Display display = getWindowManager().getDefaultDisplay();
edittextwidth = (int) ((int)(display.getWidth())*percent_x/100);
edittextheight= (int) ((int)(display.getHeight())*percent_y/100);

EditTextObject には、settext、setwidth、setheight などのデフォルトのメソッドが含まれています。

EditTextObject objedt=new EditTextObject(this);                         
objedt.setText("Some text");
objedt.setWidth(edittextwidth);
objedt.setHeight(edittextheight);
llgrower.addView(objedt);   

setWidth は正常に動作していますが、Edittext の setHeight は正常に動作していません。setWidth と setHeight の両方が正しく機能している TextView で同じコードを試しました。

4

3 に答える 3

0

.setLayoutParams(*** params *)**で試してください

このトピックの重複?:

アンドロイドでプログラムでEditTextボックスの高さと幅を設定する方法

...
final LayoutParams lparams = new LayoutParams(10,20); // Width , height
final EditText edittext = new EditText(this);
edittext.setLayoutParams(lparams);
...
于 2013-02-06T12:56:43.253 に答える
0

edittextこのように使用して、実際のサイズよりも小さい高さを設定します。setTextSizeまた、テキストの一部が見えない状態になる可能性があるため、忘れないでください。

EditText et = (EditText) findViewById(R.id.et);
et.setLayoutParams(new LinearLayout.LayoutParams(200,15)); 
et.setTextSize(10);

これがお役に立てば幸いです。ありがとう。

于 2013-02-06T12:22:45.930 に答える
0

Javaでは、これを試すことができます:

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

        EditText e = (EditText) findViewById(R.id.edit);
        e.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, (int) (height/2)));

        LinearLayout l = (LinearLayout) findViewById(R.id.layout);
        l.requestLayout();
    }
}

与えられたレイアウト:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/layout"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
    <EditText android:id="@+id/edit"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:text="@string/hello"
            />
</LinearLayout>
于 2013-02-06T12:26:30.570 に答える