【问题标题】:Remove default rectangular border of edittext when opened in dialog在对话框中打开时删除edittext的默认矩形边框
【发布时间】:2016-08-19 07:40:05
【问题描述】:

在对话框中打开时如何删除EditText 的默认矩形边框? 我尝试将背景设置为 null,但没有成功。当我在对话框中使用它时,该矩形边框仅显示为 EditText

这是 XML 布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/background_whitedialog"
    android:focusable="true"
    android:focusableInTouchMode="true">
...
    <android.support.design.widget.TextInputLayout
        android:id="@+id/inputPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:background="@null" >
        <EditText
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="@dimen/dp48"
             android:maxLines="1"
            android:paddingLeft="@dimen/dp12"
            android:textColor="@color/numbertextcolor"
            android:textSize="@dimen/sp16" />
    </android.support.design.widget.TextInputLayout>

</RelativeLayout>

这是 Java 代码:

Dialog dialog = new Dialog(mContext, R.style.DialogSlideAnim);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setContentView(R.layout.dialog_item);
dialog.show();

【问题讨论】:

  • 若要在 EditText 中移除边框,请在 EditText 中提供可绘制的背景。加上 developer.android.com/reference/android/support/design/widget/… 中提到的带有 TextInputLayout 的 TextInputEditText
  • 在你的编辑文本中尝试 android:background="@null"
  • @kgandroid 已经尝试过.. 不工作
  • @Ramit 用 TextInputEditText 替换 EditText 并设置 android:background="@android:color/transparent" 对我有用..你能把它作为答案发布吗?
  • @AndroidLearner 我添加了答案:)

标签: android dialog android-edittext android-dialog


【解决方案1】:

要删除 EditText 中的边框,请在 EditText 中提供背景可绘制对象。加上https://developer.android.com/reference/android/support/design/widget/TextInputLayout.html中提到的TextInputEditText和TextInputLayout@

【讨论】:

    【解决方案2】:

    尝试将编辑文本的背景设置为透明

     <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Hello"
        android:background="#00000000" />
    

    【讨论】:

      【解决方案3】:

      我已经使用您的代码生成了一个对话框。这就是我得到的。

      <?xml version="1.0" encoding="utf-8"?>
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:focusable="true"
          android:focusableInTouchMode="true">
          <android.support.design.widget.TextInputLayout
              android:id="@+id/inputPassword"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
      
              android:background="@color/white"
              >
              <EditText
                  android:id="@+id/password"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:maxLines="1"
                  android:hint="@string/new_password"
                  android:background="@android:color/transparent"
                  android:paddingLeft="12dp"
                  android:textColor="@color/red"
                  android:textSize="12sp" />
          </android.support.design.widget.TextInputLayout>
      
      </RelativeLayout>
      

      【讨论】:

      • 你能显示一些截图吗,你希望它是怎样的?之前和之后
      • 图片添加有问题。我希望它在没有矩形背景的情况下正常显示(如果未在对话框中使用)
      • 上传了我的代码截图。如果没有透明背景,该字段下会有一行
      • 您是否使用此代码进行对话?.. 因为这个问题只发生在 dialig
      • 仅在对话框中?哦……这很奇怪。不。我在片段上运行。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      • 2021-06-20
      • 2015-12-16
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多