android dialog textedit复制粘贴菜单背景,Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题...

1、原来是将editview放到了popupwindow,发现editview原有的复制、粘贴、全选、选择功能失效了,所以便用dialogfragment代替了popupwindow

直接上代码

①、先看布局文件

android:layout_width="match_parent"

android:layout_height="match_parent"

android:gravity="bottom"

android:orientation="vertical">

android:id="@+id/ll_background_dialog"

android:layout_width="match_parent"

android:layout_height="dp"

android:layout_weight=""

android:background="#"

android:alpha="."

android:orientation="horizontal">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@android:color/white">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="#ffcdcdcd"

android:orientation="vertical">

android:layout_width="match_parent"

android:layout_height="wrap_content">

android:id="@+id/iv_quxiao_popup"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:padding="dp"

android:src="@drawable/popup_comment_no" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerinparent="true"

android:text="发言"

android:textcolor="#"

android:textsize="sp" />

android:id="@+id/iv_write_popup"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignparentend="true"

android:layout_alignparentright="true"

android:padding="dp"

android:src="@drawable/popup_commnet_ok" />

android:id="@+id/et_comment_popup"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_margin="dp"

android:background="#ffffff"

android:gravity="top"

android:hint="在这里留言"

android:minlines="" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginbottom="dp"

android:layout_marginleft="dp"

android:layout_marginright="dp">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignparentright="true"

android:text="文明上网"

android:textsize="sp" />

②、看自定义diaglogfragment的代码

import android.annotation.suppresslint;

import android.content.context;

import android.graphics.color;

import android.graphics.drawable.colordrawable;

import android.os.bundle;

import android.app.fragment;

import android.support.v.app.dialogfragment;

import android.view.layoutinflater;

import android.view.view;

import android.view.viewgroup;

import android.view.windowmanager;

import android.view.inputmethod.inputmethodmanager;

import android.widget.edittext;

import android.widget.imageview;

import android.widget.linearlayout;

import android.widget.toast;

import com.android.volley.authfailureerror;

import com.android.volley.request;

import com.android.volley.response;

import com.android.volley.volleyerror;

import com.android.volley.toolbox.stringrequest;

import org.json.jsonexception;

import org.json.jsonobject;

import java.util.hashmap;

import java.util.map;

import newairtek.com.app.appapplication;

import newairtek.com.sdnewsandroid.r;

import newairtek.com.url.sdnewsurl;

/**

* a simple {@link fragment} subclass.

*/

@suppresslint("validfragment")

public class customdialogfragment extends dialogfragment {

private imageview iv_quxiao_popup;//取消按钮

private imageview iv_write_popup; //确认按钮

private edittext et_comment_popup;//评论内容

private linearlayout ll_background_dialog;//容器

private boolean iscommenting = false;

private string uid;

private string id;

private string cid;

public customdialogfragment(string uid, string id, string cid) {

this.uid = uid;

this.id = id;

this.cid = cid;

}

@override

public void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

//这句代码的意思是让dialogfragment弹出时沾满全屏

setstyle(dialogfragment.style_normal, android.r.style.theme_holo_light_dialogwhenlarge_noactionbar);

}

@override

public view oncreateview(layoutinflater inflater, viewgroup container,

bundle savedinstancestate) {

view view = inflater.inflate(r.layout.popup_write_comment, null);

//让dialogfragment的背景为透明

getdialog().getwindow().setbackgrounddrawable(new colordrawable(color.transparent));

initview(view);

initevent();

return view;

}

//初始化view

private void initview(view view) {

iv_quxiao_popup = (imageview) view.findviewbyid(r.id.iv_quxiao_popup);

iv_write_popup = (imageview) view.findviewbyid(r.id.iv_write_popup);

et_comment_popup = (edittext) view.findviewbyid(r.id.et_comment_popup);

ll_background_dialog = (linearlayout) view.findviewbyid(r.id.ll_background_dialog);

}

private void initevent(){

//取消

iv_quxiao_popup.setonclicklistener(new view.onclicklistener() {

@override

public void onclick(view view) {

dismiss();

}

});

//确认发送

iv_write_popup.setonclicklistener(new view.onclicklistener() {

@override

public void onclick(view view) {

if (et_comment_popup.gettext().tostring().length() > ) {

if (!iscommenting) {

iscommenting = true;

} else {

toast.maketext(getactivity(), "正在评论,请勿重复操作", toast.length_long).show();

}

} else {

toast.maketext(getactivity(), "内容不能为空", toast.length_short).show();

}

}

});

ll_background_dialog.setonclicklistener(new view.onclicklistener() {

@override

public void onclick(view view) {

dismiss();

}

});

}

}

3、如何使用

fragmentmanager manager = getsupportfragmentmanager();//区分是v的fragment还是app包里面的

customdialogfragment dialogfragment = new customdialogfragment(uid, id, cid);

dialogfragment.show(manager, "custom");

效果图

9a5fb066cf6a17ad89c14742d56a89e8.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值