0

我有EditText&ButtonLinearLayout。我现在和我的是Button隐形的。EditTextfill parent

但是,当我想在EditText编辑文本的宽度中输入内容时,应该换行 & Button旁边应该变得可见。任何代码片段都会非常有帮助。

4

5 回答 5

1

不要做EditTextto fill_parent。您可以尝试使用:

<EditText
    android:layout_width = "0dp"
    android:layout_height = "wrap_content"
    android:layout_weight = "1"
    />

<YourButton/>

我假设你LinearLayout是有horizontal方向的。

于 2012-08-30T06:49:41.103 回答
0

尝试这个:

  • 将 OnFocusChangedListener注册到您的 EditText。
  • 覆盖onFocusChange()并执行以下 if hasFocus== true
    • 将 EditText 的 LayoutParameters 更改为 wrap_content 的宽度和高度。
    • 将您的按钮设置为可见。
于 2012-08-30T06:51:04.597 回答
0

Button 有 setVisibility 方法。要使其可见,请使用以下命令:

Button button.setVisibility(View.VISIBLE);
于 2012-08-30T06:48:36.380 回答
0

尝试这个

<LinearLayout android:orientation="horizontal">
     <EditText android:layout_weight="1" android:layout_height="wrap_content" 
         anroid:layout_width="0dp" />
     <Button android:layout_width="50dp" android:layout_height="wrap_content"
         android:visibility="gone" />
</LinearLayout>

我假设您已经有了在 EditText 中键入内容时显示按钮的代码

于 2012-08-30T06:49:45.437 回答
0

尝试这个 :

布局 :

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/editText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btnClickMe"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me"
        android:visibility="gone" />
</LinearLayout>

代码 :

EditText editText=(EditText)findViewById(R.id.editText);
    final Button btnClickMe=(Button) findViewById(R.id.btnClickMe);

    editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            btnClickMe.setVisibility(View.VISIBLE);
        }
    });
于 2012-08-30T07:00:12.313 回答