相关疑难解决方法(0)

如何在Android中以编程方式设置EditText框的高度和宽度

我想EditText在Android中以编程方式管理框的高度和宽度.我试过edittext.setWidth(32);edittext.setEms(50);,但两者都没有工作.请参阅下面的代码,因为我正在使用它EditText在Android中创建动态s.

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;
}
Run Code Online (Sandbox Code Playgroud)

android android-edittext

19
推荐指数
3
解决办法
5万
查看次数

AlertDialog中的Android EditText似乎太宽了

看起来下图中的EditText太宽了.我假设我以某种方式滥用了SDK,直到确信我没有想办法在两侧指定一些边距/填充像素EditText.

在此输入图像描述

这个看起来更合适.

在此输入图像描述

这是我的代码(创建第一个'Create Tag'对话框):

final Dao<Tag, Integer> tagDao = getHelper().getTagDao();

final EditText input = new EditText(this);
input.setSingleLine(true);
input.setHint(R.string.create_tag_dialog_hint);

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(input);
builder.setTitle(getString(R.string.create_tag_dialog_title));
builder.setPositiveButton(
    getString(R.string.create_tag_dialog_positive),
    new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            String value = input.getText().toString().trim();
            Toast.makeText(getApplicationContext(), value, Toast.LENGTH_SHORT).show();
            Tag tag = new Tag(value);
            try {
                    tagDao.create(tag);
            } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
            }
        }
    });
builder.setNegativeButton(
    getString(R.string.create_tag_dialog_negative), null);
builder.show();
Run Code Online (Sandbox Code Playgroud)

对不起该帖子的长度,感谢任何有用的评论.

android width android-edittext android-alertdialog

12
推荐指数
3
解决办法
1万
查看次数

无法在AlertDialog内以编程方式更改EditText边距

我的应用程序中有一个包含EditText字段的AlertDialog.此对话框需要以编程方式生成,并且应与当用户通过触摸EditTextPreference编辑文本时由Android自动显示的EditTextPreference对话框外观相匹配.这一切都有效,但以编程方式插入的EditText的大小太宽,与触摸时EditTextPreference显示的大小不匹配.以下两个图像显示了该问题.

使用setView()添加到AlertDialog时,EditText看起来像这样:

使用setView()添加到AlertDialog时,EditText看起来像这样

但应该看起来像这样:

应该是这样的

以下是XML中负责EditTextPreference的XML代码:

<EditTextPreference
            android:title="Enter Name"
            android:key="name"
            android:defaultValue=""
            android:summary=""
            android:inputType="textCapSentences|textMultiLine"
            android:singleLine="false"
            android:gravity="top|left"
            android:lines="2"
            android:minLines="1"
            android:maxLines="2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical"
            />
Run Code Online (Sandbox Code Playgroud)

以及负责我的对话的Java代码:

AlertDialog.Builder alertDialog = new AlertDialog.Builder(mainActivity);
alertDialog.setTitle("Enter Date");

final EditText input = new EditText(mainActivity);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
input.setLayoutParams(lp);
input.setGravity(android.view.Gravity.TOP|android.view.Gravity.LEFT);
input.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES|InputType.TYPE_TEXT_FLAG_MULTI_LINE);
input.setLines(1);
input.setMaxLines(1);
input.setText(lastDateValue);
alertDialog.setView(input);
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-alertdialog

5
推荐指数
2
解决办法
3586
查看次数