15

利用可能なすべての水平幅を埋めたいEditTextがありますが、幅は200dpを超えてはなりません

これにより、EditText は任意の画面サイズに適応し、大きな画面でも見栄えがよくなります (大きな画面では水平方向に引き伸ばすと見栄えがよくありません)。

Androidでこれを行う方法は?

私はそれを見てmaxWidth=200dplayoutWidth=fill_parent一緒に働きません:

 <EditText android:id="@+id/oldpassword"
           android:hint="@string/youroldpassword"
           android:inputType="textpassword"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:maxWidth="250dp" />

maxWidthlayoutWidth=fill_parentが一緒に機能しない場合、そのmaxWidth意味は何ですか?

つまり、EditBox の幅が動的に変更されない場合、何が必要maxWidthになるでしょうか?

4

6 に答える 6

4

デバイスの画面サイズに応じて、プログラムで幅を設定できます。お気に入り

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
EditText et = (EditText)findViewById(R.id.editText);
if(width > 200)
{
    et.setWidth(200);
}
else
{
    et.setWidth(width);
}
于 2013-09-18T07:36:14.737 に答える
2

私は解決策を持っています。設定android:layout_width="fill_parent"すると、親を持つ幅が常に設定されていましたが、設定するとandroid:layout_width="wrap_content"、EditTextにテキストを入力するときにコンテンツでサイズ幅が大きくなりました。これを使用するandroid:maxWidth="250dp"android:layout_width="wrap_content"、最大250dpの幅になりますEditText に値を入力する

使用する

<EditText android:id="@+id/oldpassword"
       android:hint="@string/youroldpassword"
       android:inputType="textpassword"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:maxWidth="250dp" />`

または使用

<EditText android:id="@+id/oldpassword"
       android:hint="@string/youroldpassword"
       android:inputType="textpassword"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"/>
于 2013-09-18T09:13:47.043 に答える
1

編集テキストを相対的なレイアウトにラップできます。できることは次のとおりです-:

<RelativeLayout
    android:id="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/oldpassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxWidth="250dp"
        android:maxLines="1"
        />
</RelativeLayout>
于 2013-09-18T07:48:01.153 に答える
-3

android:layout_marginRight="300dp"を使用して解決しました。この値が大きいほど、EditText オブジェクトの線の幅が小さくなります。

于 2015-09-23T09:58:01.963 に答える