今天就跟大家聊聊有關怎么在Android中實現一個信息彈出框,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Android是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。
layout下的dialog_common_layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg_round_white" android:focusable="true" android:focusableInTouchMode="true" android:orientation="vertical"> <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg_top_round_left_right_blue" android:focusable="true" android:focusableInTouchMode="true" android:gravity="center_horizontal" android:padding="12dp" android:text="@string/tip" android:textColor="@color/white" android:textSize="16sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="2dp" android:baselineAligned="false" android:orientation="vertical" android:paddingStart="10dp" android:paddingEnd="10dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal"> <TextView android:id="@+id/ZCMC2" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/re_2_half_gap" android:text="@string/ZCMC" android:textColor="#A2A2A8" /> <TextView android:id="@+id/ZCMC1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/ZCMC" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal"> <TextView android:id="@+id/FLMC2" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/re_2_half_gap" android:text="@string/FLMC" android:textColor="#A2A2A8" /> <TextView android:id="@+id/FLMC1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/FLMC" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="2dp" android:baselineAligned="false" android:orientation="vertical" android:paddingStart="10dp" android:paddingEnd="10dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.5" android:orientation="horizontal"> <TextView android:id="@+id/SBPP2" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/re_2_half_gap" android:text="@string/SBPP" android:textColor="#A2A2A8" /> <TextView android:id="@+id/SBPP1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/SBPP" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.5" android:orientation="horizontal"> <TextView android:id="@+id/XH2" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/re_2_half_gap" android:text="@string/XH" android:textColor="#A2A2A8" /> <TextView android:id="@+id/XH1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/re_2_half_gap" android:text="@string/XH" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="2dp" android:baselineAligned="false" android:orientation="vertical" android:paddingStart="10dp" android:paddingEnd="10dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal"> <TextView android:id="@+id/DJ3" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/re_2_half_gap" android:text="@string/DJ" android:textColor="#A2A2A8" /> <TextView android:id="@+id/DJ1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/DJ" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal"> <TextView android:id="@+id/GZRQ2" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/re_2_half_gap" android:text="@string/GZRQ" android:textColor="#A2A2A8" /> <TextView android:id="@+id/GZRQ1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/GZRQ" /> </LinearLayout> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginTop="2dp" android:background="@color/blue_touch_user" /> <LinearLayout android:id="@+id/buttonLine" android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <TextView android:id="@+id/cancel" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1.0" android:background="@drawable/bg_round_left_white" android:gravity="center" android:selectAllOnFocus="false" android:text="@string/cancel" android:textColor="@color/blue_touch_user" android:textSize="14sp" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="@color/blue_touch_user" /> <TextView android:id="@+id/submit" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1.0" android:background="@drawable/bg_round_right_white" android:gravity="center" android:text="@string/ruku" android:textColor="@color/blue_user" android:textSize="14sp" /> </LinearLayout> <LinearLayout android:id="@+id/buttonLine2" android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <TextView android:id="@+id/cancel2" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg_round_left_right_white" android:gravity="center" android:selectAllOnFocus="false" android:text="@string/close" android:textColor="@color/blue_touch_user" android:textSize="14sp" /> </LinearLayout> </LinearLayout>
CommomDialog.java
public class CommomDialog extends Dialog implements View.OnClickListener{
private Context mContext;
private PageData content;
private OnCloseListener listener;
private String positiveName;
private String negativeName;
private String title;
public CommomDialog(Context context) {
super(context);
this.mContext = context;
}
public CommomDialog(Context context, int themeResId, PageData content) {
super(context, themeResId);
this.mContext = context;
this.content = content;
}
public CommomDialog(Context context, int themeResId, PageData content, OnCloseListener listener) {
super(context, themeResId);
this.mContext = context;
this.content = content;
this.listener = listener;
}
protected CommomDialog(Context context, boolean cancelable, OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
this.mContext = context;
}
public CommomDialog setTitle(String title){
this.title = title;
return this;
}
public CommomDialog setPositiveButton(String name){
this.positiveName = name;
return this;
}
public CommomDialog setNegativeButton(String name){
this.negativeName = name;
return this;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_common_layout);
setCanceledOnTouchOutside(false);
initView();
}
private void initView(){
TextView ZCMC = (TextView) findViewById(R.id.ZCMC1);
TextView GZRQ = (TextView) findViewById(R.id.GZRQ1);
TextView DJ = (TextView) findViewById(R.id.DJ1);
TextView XH = (TextView) findViewById(R.id.XH1);
TextView SBPP = (TextView) findViewById(R.id.SBPP1);
TextView FLMC = (TextView) findViewById(R.id.FLMC1);
LinearLayout buttonLine=(LinearLayout) findViewById(R.id.buttonLine);
LinearLayout buttonLine2=(LinearLayout) findViewById(R.id.buttonLine2);
TextView titleTxt = (TextView) findViewById(R.id.title);
TextView submitTxt = (TextView) findViewById(R.id.submit);
submitTxt.setOnClickListener(this);
TextView cancelTxt = (TextView) findViewById(R.id.cancel);
cancelTxt.setOnClickListener(this);
TextView cancelTxt2 = (TextView) findViewById(R.id.cancel2);
cancelTxt2.setOnClickListener(this);
ZCMC.setText(content.getString("ZCMC").trim());
GZRQ.setText(content.getString("GZRQ").trim());
DJ.setText(content.getString("DJ").trim());
XH.setText(content.getString("XH").trim());
SBPP.setText(content.getString("SBPP").trim());
FLMC.setText(content.getString("FLMC").trim());
if(!TextUtils.isEmpty(positiveName)){
submitTxt.setText(positiveName);
}
if(!TextUtils.isEmpty(negativeName)){
cancelTxt.setText(negativeName);
}
if(!TextUtils.isEmpty(negativeName)){
cancelTxt2.setText(negativeName);
}
if(!TextUtils.isEmpty(title)){
titleTxt.setText(title);
}
System.out.println(content.getString("JYZT"));
if(!TextUtils.isEmpty(positiveName)&&positiveName.equals("出庫")){
if(!content.getString("JYZT").equals("1.0")){
buttonLine2.setVisibility(View.GONE);
buttonLine.setVisibility(View.VISIBLE);
}else{
buttonLine.setVisibility(View.GONE);
buttonLine2.setVisibility(View.VISIBLE);
}
}else if(!TextUtils.isEmpty(positiveName)&&positiveName.equals("入庫")){
//歸還資產入庫
if(!content.getString("JYZT").equals("1.0")){
buttonLine.setVisibility(View.GONE);
buttonLine2.setVisibility(View.VISIBLE);
}else{
buttonLine2.setVisibility(View.GONE);
buttonLine.setVisibility(View.VISIBLE);
}
}else{
//新增資產入庫
buttonLine.setVisibility(View.VISIBLE);
buttonLine2.setVisibility(View.GONE);
}
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.cancel2:
if(listener != null){
listener.onClick(this, false);
}
this.dismiss();
break;
case R.id.cancel:
if(listener != null){
listener.onClick(this, false);
}
this.dismiss();
break;
case R.id.submit:
if(listener != null){
listener.onClick(this, true);
}
break;
}
}
public interface OnCloseListener{
void onClick(Dialog dialog, boolean confirm);
}
}
drawable下bg_top_round_left_right_blue.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/blue_user" /> <corners android:topRightRadius="8dp" android:topLeftRadius="8dp" /> </shape>
bg_round_left_white.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/white" /> <corners android:bottomLeftRadius="8dp" /> </shape>
bg_round_right_white.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/white" /> <corners android:bottomRightRadius="8dp" /> </shape>
bg_round_left_right_white.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/white" /> <corners android:bottomRightRadius="8dp" android:bottomLeftRadius="8dp" /> </shape>
styles.xml
<style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <!--邊框--> <item name="android:windowIsFloating">true</item> <!--是否浮現在activity之上--> <item name="android:windowIsTranslucent">false</item> <!--半透明--> <item name="android:windowNoTitle">true</item> <!--無標題--> <item name="android:windowBackground">@android:color/transparent</item> <!--背景透明--> <item name="android:backgroundDimEnabled">true</item> <!--模糊--> </style>
使用
//彈出框 確認按鈕
CommomDialog commomDialog = new CommomDialog(HjtzActivity.this, R.style.dialog, gwcInfo, new CommomDialog.OnCloseListener() {
@Override
public void onClick(Dialog dialog, boolean confirm) {
dialogClose=true;
if(confirm){
PageData rkParam=new PageData();
rkParam.put("HJH",hjbh.getText().toString());
rkParam.put("DAH",DAH);
rkParam.put("CFDD",CFDD);
rkParam.put("WAREID",gwcInfo.getString("WAREID"));
mDialog2 = LoadDialogUtils.createLoadingDialog(HjtzActivity.this, "loading...");
addSubscription(httpApi.updateHjhInfo(rkParam),new SubscriberCallBack(new ApiCallBack<ResponseWrapper>() {
@Override
public void onSuccess(ResponseWrapper resp) {
if(resp.getCode()!=0){
showMsg("請求失敗");
}else{
showMsg("調整成功!");
}
}
@Override
public void onFailure(int code, String msg) {
showMsg(msg);
System.out.println(msg);
}
@Override
public void onCompoleted() {
LoadDialogUtils.closeDialog(mDialog2);
}
}));
}
dialog.dismiss();
}
});
dialogClose=false;
commomDialog.setTitle("貨架調整").setPositiveButton("調整").show();看完上述內容,你們對怎么在Android中實現一個信息彈出框有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。