Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android分组文本视图_Android_Android Edittext - Fatal编程技术网

Android分组文本视图

Android分组文本视图,android,android-edittext,Android,Android Edittext,我的Android应用程序有一个用户必须填写的表单。我在找这样的东西。这我的意思是编辑文本看起来像这样整洁。关于如何在安卓系统中复制这一点的任何建议。我在Android中看到过几个应用程序都有这样的UI。欢迎提出任何建议 亲切问候, <?xml version="1.0" encoding="utf-8"?> 您可以使用LinearLayout,appyborder.xml作为该LinearLayout的可绘制背景,如下所示: border.xml <?xml ve

我的Android应用程序有一个用户必须填写的表单。我在找这样的东西。这我的意思是编辑文本看起来像这样整洁。关于如何在安卓系统中复制这一点的任何建议。我在Android中看到过几个应用程序都有这样的UI。欢迎提出任何建议

亲切问候,

<?xml version="1.0" encoding="utf-8"?>



您可以使用LinearLayout,appy
border.xml
作为该LinearLayout的可绘制背景,如下所示:

border.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <stroke
        android:width="1dp"
        android:color="@color/grey"/>
<!-- "#5D2E8C"  -->
    <solid android:color="#ffffff" />       <!-- background to the border -->
    <padding
        android:bottom="2dp"
        android:left="2dp"
        android:right="2dp"
        android:top="2dp" />
    <corners android:radius="20dp" />

</shape>

  • 在其中输入用户名的EditText视图

  • 具有宽度填充和高度=1dp和背景的文本视图 颜色为黑色(这会给你线条般的感觉)

  • 密码的编辑文本视图 //======================================================================================================================/

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/white"
        android:orientation="vertical" >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        android:orientation="vertical" >
    
        <EditText
            android:id="@+id/first_name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/first_name_hint_text"
            android:singleLine="true"
            android:textColor="#778BB0"
            android:textColorHint="#778BB0"
            android:textSize="13sp"
            android:textStyle="bold" />
        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#000000"
            />
    
        <EditText
            android:id="@+id/last_name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/last_name_hint_text"
            android:singleLine="true"
            android:textColor="#778BB0"
            android:textColorHint="#778BB0"
            android:textSize="13sp"
            android:textStyle="bold" />
    <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#000000"
            />
    <EditText
            android:id="@+id/email_address"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/email_address_hint_text"
            android:singleLine="true"
            android:textColor="#778BB0"
            android:textColorHint="#778BB0"
            android:textSize="13sp"
            android:textStyle="bold" />
    <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#000000"
            />
        <EditText
            android:id="@+id/password"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/password_hint_text"
           android:singleLine="true"
            android:textColor="#778BB0"
            android:textColorHint="#778BB0"
            android:textSize="13sp"
            android:textStyle="bold" />
    <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#000000"
            />
        <Button
            android:id="@+id/already_have_an_account"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:background="@android:color/transparent"
            android:padding="20dp"
            android:text="@string/already_have_an_account"
            android:textColor="@color/red1" />
    </LinearLayout>
    </LinearLayout>
    

    您可以使用LinearLayout,appy
    border.xml
    作为该LinearLayout的可绘制背景,如下所示:

    border.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <stroke
            android:width="1dp"
            android:color="@color/grey"/>
    <!-- "#5D2E8C"  -->
        <solid android:color="#ffffff" />       <!-- background to the border -->
        <padding
            android:bottom="2dp"
            android:left="2dp"
            android:right="2dp"
            android:top="2dp" />
        <corners android:radius="20dp" />
    
    </shape>
    
    
    
  • 在其中输入用户名的EditText视图

  • 具有宽度填充和高度=1dp和背景的文本视图 颜色为黑色(这会给你线条般的感觉)

  • 密码的编辑文本视图 //======================================================================================================================/

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/white"
        android:orientation="vertical" >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        android:orientation="vertical" >
    
        <EditText
            android:id="@+id/first_name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/first_name_hint_text"
            android:singleLine="true"
            android:textColor="#778BB0"
            android:textColorHint="#778BB0"
            android:textSize="13sp"
            android:textStyle="bold" />
        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#000000"
            />
    
        <EditText
            android:id="@+id/last_name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/last_name_hint_text"
            android:singleLine="true"
            android:textColor="#778BB0"
            android:textColorHint="#778BB0"
            android:textSize="13sp"
            android:textStyle="bold" />
    <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#000000"
            />
    <EditText
            android:id="@+id/email_address"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/email_address_hint_text"
            android:singleLine="true"
            android:textColor="#778BB0"
            android:textColorHint="#778BB0"
            android:textSize="13sp"
            android:textStyle="bold" />
    <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#000000"
            />
        <EditText
            android:id="@+id/password"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/password_hint_text"
           android:singleLine="true"
            android:textColor="#778BB0"
            android:textColorHint="#778BB0"
            android:textSize="13sp"
            android:textStyle="bold" />
    <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#000000"
            />
        <Button
            android:id="@+id/already_have_an_account"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:background="@android:color/transparent"
            android:padding="20dp"
            android:text="@string/already_have_an_account"
            android:textColor="@color/red1" />
    </LinearLayout>
    </LinearLayout>
    

    编辑了您想要的答案

    public class EditTextView extends LinearLayout{
    
        private LayoutInflater inflater;
        private EditText edit_text;
        private TextView item;
        private View spacer;
    
        public EditTextView(Context context) {
            super(context);
            inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            initialize();
        }
    
        public void setLabel(String label){
            item.setText(label);
        }
    
        public void setText(String text){
            item.setText(text);
        }
    
        public String getText(){
            if((edit_text != null)&& (edit_text.getText() != null)){
                return edit_text.getText().toString();          
            }
            return "";
        }
    
        public void showSpacer(){
            spacer.setVisibility(View.VISIBLE);
        }
    
        private void initialize() {
             inflater.inflate(R.layout.edit_text_view, this);
             edit_text = (EditText) findViewById(R.id.edit_text);
             item = (TextView) findViewById(R.id.edit_text_label);
             spacer = (View) findViewById(R.id.spacer);
             spacer.setVisibility(View.GONE);
        }
    
    
    }
    
    用于获取如下文本

    EditTextView textView = (EditTextView) groupedView2.getFieldViewAt(0);
    System.out.println(textView.getText());
    textView = (EditTextView) groupedView2.getFieldViewAt(1);
    System.out.println(textView.getText());
    

    这对我很有效。如果您有任何问题,请告诉我。

    编辑了您想要的答案

    public class EditTextView extends LinearLayout{
    
        private LayoutInflater inflater;
        private EditText edit_text;
        private TextView item;
        private View spacer;
    
        public EditTextView(Context context) {
            super(context);
            inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            initialize();
        }
    
        public void setLabel(String label){
            item.setText(label);
        }
    
        public void setText(String text){
            item.setText(text);
        }
    
        public String getText(){
            if((edit_text != null)&& (edit_text.getText() != null)){
                return edit_text.getText().toString();          
            }
            return "";
        }
    
        public void showSpacer(){
            spacer.setVisibility(View.VISIBLE);
        }
    
        private void initialize() {
             inflater.inflate(R.layout.edit_text_view, this);
             edit_text = (EditText) findViewById(R.id.edit_text);
             item = (TextView) findViewById(R.id.edit_text_label);
             spacer = (View) findViewById(R.id.spacer);
             spacer.setVisibility(View.GONE);
        }
    
    
    }
    
    用于获取如下文本

    EditTextView textView = (EditTextView) groupedView2.getFieldViewAt(0);
    System.out.println(textView.getText());
    textView = (EditTextView) groupedView2.getFieldViewAt(1);
    System.out.println(textView.getText());
    

    这对我很有效。如果您有任何问题,请告诉我。

    使用android很容易实现您想要的目标。你只需要在编辑文本时使用shape drawables

    以下是实现此目标的方法:


    形状可拉丝
    可绘制上部编辑文本

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid 
            android:color="#ffffff"/>
        <corners
            android:topLeftRadius="15dp"
            android:bottomLeftRadius="0dp"
            android:topRightRadius="15dp"
            android:bottomRightRadius="0dp"/>
    
    </shape>
    
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid 
            android:color="#ffffff"/>
        <corners
            android:topLeftRadius="0dp"
            android:bottomLeftRadius="15dp"
            android:topRightRadius="0dp"
            android:bottomRightRadius="15dp"/>
    
    </shape>
    
    
    

    可用于较低的编辑文本

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid 
            android:color="#ffffff"/>
        <corners
            android:topLeftRadius="15dp"
            android:bottomLeftRadius="0dp"
            android:topRightRadius="15dp"
            android:bottomRightRadius="0dp"/>
    
    </shape>
    
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid 
            android:color="#ffffff"/>
        <corners
            android:topLeftRadius="0dp"
            android:bottomLeftRadius="15dp"
            android:topRightRadius="0dp"
            android:bottomRightRadius="15dp"/>
    
    </shape>
    
    
    
    用于布局的XML

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#3434ff"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="50dp" >
    
        <ImageView
            android:id="@+id/img"
            android:layout_width="fill_parent"
            android:layout_height="80dp"
            android:background="@drawable/stack"
            android:layout_marginBottom="50dp" />
    
        <EditText
            android:id="@+id/emailEdt"
            android:layout_width="fill_parent"
            android:layout_height="60dp"
            android:background="@drawable/edit_back1"
            android:hint="Email"
            android:paddingLeft="10dp" />
    
        <View
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#5a5a5a" />
    
        <EditText
            android:id="@+id/passwordEdt"
            android:layout_width="fill_parent"
            android:layout_height="60dp"
            android:background="@drawable/edit_back2"
            android:hint="Password"
            android:paddingLeft="10dp" />
    
    </LinearLayout>
    
    
    
    生成的布局如下所示:

    你想用android实现什么目标很容易。你只需要在编辑文本时使用shape drawables

    以下是实现此目标的方法:


    形状可拉丝
    可绘制上部编辑文本

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid 
            android:color="#ffffff"/>
        <corners
            android:topLeftRadius="15dp"
            android:bottomLeftRadius="0dp"
            android:topRightRadius="15dp"
            android:bottomRightRadius="0dp"/>
    
    </shape>
    
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid 
            android:color="#ffffff"/>
        <corners
            android:topLeftRadius="0dp"
            android:bottomLeftRadius="15dp"
            android:topRightRadius="0dp"
            android:bottomRightRadius="15dp"/>
    
    </shape>
    
    
    

    可用于较低的编辑文本

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid 
            android:color="#ffffff"/>
        <corners
            android:topLeftRadius="15dp"
            android:bottomLeftRadius="0dp"
            android:topRightRadius="15dp"
            android:bottomRightRadius="0dp"/>
    
    </shape>
    
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >
        <solid 
            android:color="#ffffff"/>
        <corners
            android:topLeftRadius="0dp"
            android:bottomLeftRadius="15dp"
            android:topRightRadius="0dp"
            android:bottomRightRadius="15dp"/>
    
    </shape>
    
    
    
    用于布局的XML

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#3434ff"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="50dp" >
    
        <ImageView
            android:id="@+id/img"
            android:layout_width="fill_parent"
            android:layout_height="80dp"
            android:background="@drawable/stack"
            android:layout_marginBottom="50dp" />
    
        <EditText
            android:id="@+id/emailEdt"
            android:layout_width="fill_parent"
            android:layout_height="60dp"
            android:background="@drawable/edit_back1"
            android:hint="Email"
            android:paddingLeft="10dp" />
    
        <View
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="#5a5a5a" />
    
        <EditText
            android:id="@+id/passwordEdt"
            android:layout_width="fill_parent"
            android:layout_height="60dp"
            android:background="@drawable/edit_back2"
            android:hint="Password"
            android:paddingLeft="10dp" />
    
    </LinearLayout>
    
    
    
    生成的布局如下所示:


    为什么人们认为苹果式的命名对一切都有好处?:'(@Jin35。我必须同意你的看法。但有时这是客户想要的。虽然我们解释了android的特定布局和样式。但没有客户喜欢它:(…我已经看过了。但是这只会给你一个静态的ListView而不是EditText。我希望用户能够在其中键入内容。我遇到了这个例子。问题是我可以在框中键入内容,但无法检索它?@user365019编辑了你想要的答案。如果它为你修复了,请接受。为什么人们认为apple-style命名对任何事情都有好处?:“(@Jin35。我必须同意你的看法。但有时这是客户想要的。虽然我们解释了android特定的布局和样式。但是没有客户喜欢它。”(…我已经看过了。但是这只会给你一个静态的ListView,而不是EditText。我希望用户能够在其中键入内容。我遇到了这个例子。问题是我可以在框中键入内容,但无法检索它?@user365019编辑了你想要的答案。如果它为你修复,请接受。我尝试了这个。仍然没有正确的类型。有人能给我看一个好的android标准输入表单的exmaple吗?不工作意味着??这有什么问题?你能告诉我问题吗?我会帮你解决的。你能看到我编辑的问题吗?我已经把我的代码放在那里了。我想说的是上面的代码,非常简单易懂…请检查一下我对我的努力给予了反馈…alives.Copy并将border.xml代码以相同的文件名粘贴到您的可绘图文件夹中。我尝试了此方法。仍然不是正确的类型。有人能给我看一个好的android标准输入表单的exmaple吗?不工作意味着??这有什么问题吗??您能告诉我问题所在吗?我会为您解决的。您能看到我编辑的表单吗问题。我已经把我的代码放在那里了。我想说的是上面的代码,很容易理解…请检查一下,并给我反馈我的努力…问候。复制并粘贴border.xml代码,在您的可绘图文件夹中使用相同的文件名。我如何在这些代码之间添加一行?要在它们之间添加一行,只需添加一个编辑中间的文本并为其背景创建一个新的可绘制形状。要创建可绘制形状,您可以参考上面的代码,但需要做一些更改。对于中间的行,不应该有任何圆角。因此,请从可绘制形状中删除短号属性,或者将其半径设置为0dp。如何在下注中添加行两者之间?要在中间添加一行,只需在中间添加一个编辑文本,并为其背景创建一个新的可绘制形状。要创建可绘制形状,您可以参考上述代码,但需要做一些更改。对于中间行,不应有任何圆角。因此,从可绘制形状中删除cornet属性或者将其半径设置为0dp