Android中解決EditText放到popupWindow中,原有復(fù)制、粘貼、全選、選擇功能失效問題
1、原來(lái)是將EditView放到了popupwindow,發(fā)現(xiàn)EditView原有的復(fù)制、粘貼、全選、選擇功能失效了,所以便用DialogFragment代替了popupWindow
直接上代碼
①、先看布局文件
<?xml version="." encoding="utf-"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom" android:orientation="vertical"> <LinearLayout 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"> </LinearLayout> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#ffcdcdcd" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView 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" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="發(fā)言" android:textColor="#" android:textSize="sp" /> <ImageView 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" /> </RelativeLayout> <EditText 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="" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="dp" android:layout_marginLeft="dp" android:layout_marginRight="dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="文明上網(wǎng)" android:textSize="sp" /> </RelativeLayout> </LinearLayout> </ScrollView> </LinearLayout>
②、看自定義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; //確認(rèn)按鈕
private EditText et_comment_popup;//評(píng)論內(nèi)容
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彈出時(shí)沾滿全屏
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();
}
});
//確認(rèn)發(fā)送
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(), "正在評(píng)論,請(qǐng)勿重復(fù)操作", Toast.LENGTH_LONG).show();
}
} else {
Toast.makeText(getActivity(), "內(nèi)容不能為空", Toast.LENGTH_SHORT).show();
}
}
});
ll_background_dialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dismiss();
}
});
}
}
3、如何使用
FragmentManager manager = getSupportFragmentManager();//區(qū)分是v的Fragment還是app包里面的 CustomDialogFragment dialogFragment = new CustomDialogFragment(uid, id, cid); dialogFragment.show(manager, "custom");
效果圖

相關(guān)文章
anndroid使用ViewPager實(shí)現(xiàn)三個(gè)fragment切換
這篇文章主要介紹了anndroid使用ViewPager實(shí)現(xiàn)三個(gè)fragment切換,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Android實(shí)現(xiàn)底部半透明彈出框PopUpWindow效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)底部半透明彈出框PopUpWindow效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
使用Messenger實(shí)現(xiàn)Service的雙向通信
這篇文章主要為大家詳細(xì)介紹了使用Messenger實(shí)現(xiàn)Service的雙向通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Android用代碼獲取手機(jī)root之后的最高權(quán)限
機(jī)得root之后通過(guò)代碼可以獲得最高權(quán)限如果沒有root的話請(qǐng)不要往下看,毫無(wú)意義,root之后的朋友可以參考下本文或許有意想不到的收獲2013-03-03
頁(yè)面未隨軟鍵盤上升及android隱藏軟鍵盤總結(jié)
這篇文章主要介紹了頁(yè)面未隨軟鍵盤上升及android隱藏軟鍵盤總結(jié),需要的朋友可以參考下2015-12-12
超精準(zhǔn)的Android手機(jī)計(jì)步器開發(fā)
這篇文章主要為大家詳細(xì)介紹了超精準(zhǔn)的Android手機(jī)計(jì)步器開發(fā)過(guò)程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
android 仿微信demo——微信通訊錄界面功能實(shí)現(xiàn)(移動(dòng)端,服務(wù)端)
本系列文章主要介紹了微信小程序-閱讀小程序?qū)嵗╠emo),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望能給你們提供幫助2021-06-06

