EditText实现全选和复制的功能,自定义样式只有底部才有线

本文介绍了如何在Android中实现EditText的全选和复制功能,并且定制编辑框样式,使其只在底部显示线条。针对新手开发者,这个过程可能稍具挑战性,主要方法是为edittext外部布局添加背景图片,并在点击事件中进行逻辑判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只有底部才有线,虽然是一个简单的功能,但是要想到还是不简单的,对于一个新手来说,有点难度,主要原理就是在edittext外边的布局上面加一个背景(记得要.9处理下),然后在点击时的进行判断。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="50.0dip"
    android:background="#ffffff" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="16.0dip"
        android:text="昵称"
        android:textColor="#000000" />

    <RelativeLayout
        android:id="@+id/edittext_nick_rela"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dp"
        android:layout_marginLeft="70.0dip"
        android:layout_marginRight="6dp" >

        <EditText
            android:id="@+id/person_nick_edit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:background="@null"
            android:maxLines="3"
            android:minHeight="40dp"
            android:paddingLeft="1dp"
            android:paddingRight="1dp"
            android:paddingTop="3dp" >
        </EditText>
    </RelativeLayout>

</RelativeLayout>
</pre>java文件如下:</p><p></p><p><pre class="java" name="code">package com.example.edittextdiy;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.widget.RelativeLayout;

public class MainActivity extends ActionBarActivity {
	public static final String COPY_IMAGE = "EASEMOBIMG";
	public static final int REQUEST_CODE_COPY_AND_PASTE = 11;
	private EditText nickmEditText;// 设置昵称的edit
	private RelativeLayout nickrela;// 设置昵称的底部横线
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		// //昵称
		nickmEditText = (EditText) findViewById(R.id.person_nick_edit);
		nickrela = (RelativeLayout) findViewById(R.id.edittext_nick_rela);
		nickmEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
			@Override
			public void onFocusChange(View v, boolean hasFocus) {
				if (hasFocus) {
					nickrela.setBackgroundResource(R.drawable.input_bar_bg_active);
				} else {
					nickrela.setBackgroundResource(R.drawable.input_bar_bg_normal);
				}
			}
		});

	}
}

好了,各位留个言、点个赞算是对我的支持,多谢大家~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值