android dialog去掉边框颜色,自定义输入dialog,圆角边框,去掉底部黑色背景。去掉editText黄色输入框。...

一,先看看想要实现的dialog效果。

bc468a77c8874f78f0c825e5fafc5395.png

要实现这要的效果,我们需要几个应该注意的关键点:

1,如何定义圆角边框。

bg_title_custom_dialog.xml 四周都是圆角按钮。

bg_bottom_custom_dialog.xml

2,适当的场合设置透明背景颜色。EditText设置透明背景色去掉黄色边框。

android:background="@color/transparent"

#00000000

3,改变dialog样式:

@null

true

true

false

@android:color/transparent

true

true

4,改变dialog在页面显示的宽高。   在dialog.show()后面调用,设置对话框的宽高。

dialog.show();

//设置对话框的宽高

WindowManager m = getWindowManager();

Display d = m.getDefaultDisplay(); // 为获取屏幕宽、高

android.view.WindowManager.LayoutParams p = getWindow().getAttributes();

p.height = (int) (d.getHeight() * 0.3); // 高度设置为屏幕的0.8

p.width = (int) (d.getWidth() * 0.9); // 宽度设置为屏幕的0.7

dialog.getWindow().setAttributes(p);

二,先设置自定义对话框布局:

custom_input_dialog.xml

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:background="@color/write"

android:orientation="vertical" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:background="@drawable/bg_title_custom_dialog"

android:paddingTop="10dip"

android:paddingBottom="10dip"

android:orientation="horizontal" >

android:layout_width="32dp"

android:layout_height="32dp"

android:layout_gravity="center_vertical"

android:layout_marginLeft="10dip"

android:src="@drawable/input">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:layout_marginLeft="8dip"

android:textSize="25sp"

android:text="提示"

android:textColor="@color/black"

/>

android:id="@+id/fuifu_msg"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"

android:layout_marginRight="10dp"

android:layout_marginTop="10dp"

android:layout_marginBottom="10dip"

android:gravity="left|center"

android:textSize="22sp"

android:background="@color/transparent"

android:hint="请输入回复内容" />

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:paddingTop="5dip"

android:paddingBottom="5dip"

android:paddingLeft="5dip"

android:paddingRight="5dip"

android:background="@drawable/bg_bottom_custom_dialog"

android:orientation="horizontal" >

android:id="@+id/positiveButton"

android:layout_width="0dip"

android:layout_weight="1"

android:layout_height="wrap_content"

android:background="@drawable/button_bg"

android:text="确定"

android:textSize="20sp"

android:gravity="center" />

android:id="@+id/negativeButton"

android:layout_width="0dip"

android:layout_weight="1"

android:background="@drawable/button_bg"

android:layout_height="wrap_content"

android:layout_marginLeft="20.0dip"

android:text="取消"

android:textSize="20sp"

android:gravity="center" />

三:设置自定义文件dialog:

/**

*

*/

package com.gaosheng.foodproduction.d;

import com.gaosheng.foodproduction.R;

import android.app.Dialog;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup.LayoutParams;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

/**

* @Description: TODO自定义输入对话框

* @author daipengcheng

* @date 2015-11-16 上午9:04:19

* @version V1.0

*/

public class custom_input_dialog extends Dialog{

/**

* @param context

*/

private EditText editText;

private Button positiveButton, negativeButton;

private TextView title;

public custom_input_dialog(Context context) {

super(context,R.style.dialog);

setCustomDialog();

}

private void setCustomDialog() {

View mView = LayoutInflater.from(getContext()).inflate(R.layout.custom_input_dialog, null);

title = (TextView) mView.findViewById(R.id.title);

editText = (EditText) mView.findViewById(R.id.fuifu_msg);

positiveButton = (Button) mView.findViewById(R.id.positiveButton);

negativeButton = (Button) mView.findViewById(R.id.negativeButton);

super.setContentView(mView);

}

public View getEditText(){

return editText;

}

@Override

public void setContentView(int layoutResID) {

}

@Override

public void setContentView(View view, LayoutParams params) {

}

@Override

public void setContentView(View view) {

}

/**

* 确定键监听器

* @param listener

*/

public void setOnPositiveListener(View.OnClickListener listener){

positiveButton.setOnClickListener(listener);

}

/**

* 取消键监听器

* @param listener

*/

public void setOnNegativeListener(View.OnClickListener listener){

negativeButton.setOnClickListener(listener);

}

}

四:在activity中使用对话框

final custom_input_dialog dialog = new custom_input_dialog(tzggActivity.this);

final EditText editText = (EditText) dialog.getEditText();//方法在CustomDialog中实现

dialog.setOnPositiveListener(new OnClickListener() {

@Override

public void onClick(View v) {

huifuStr=editText.getText().toString();

pd2 = ProgressDialog.show(tzggActivity.this, "提示", "正在添加..");

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

date=sDateFormat.format(new java.util.Date());

dialog.dismiss();

pd2.show();

new Thread(new Runnable() {

@SuppressWarnings("static-access")

@Override

public void run() {

str =bll.UploadGg(zfrybh,

mima,myguid,huifuStr,date);

toast(0,str);

if (str.equals("1")) {

handler.sendEmptyMessage(2);

} else

{

handler.sendEmptyMessage(3);

}

}

}).start();

}

});

dialog.setOnNegativeListener(new OnClickListener() {

@Override

public void onClick(View v) {

dialog.dismiss();

}

});

dialog.show();

//设置对话框的宽高

WindowManager m = getWindowManager();

Display d = m.getDefaultDisplay(); // 为获取屏幕宽、高

android.view.WindowManager.LayoutParams p = getWindow().getAttributes();

p.height = (int) (d.getHeight() * 0.3); // 高度设置为屏幕的0.8

p.width = (int) (d.getWidth() * 0.9); // 宽度设置为屏幕的0.7

dialog.getWindow().setAttributes(p);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值