自定义Dialog 去掉标题

来源:互联网 发布:网络交友有利有弊 英语 编辑:程序博客网 时间:2024/06/06 08:47

自定义Dialog是每个android   爱屁屁几乎都会用到的。于是乎最为一个android人我也自定义了一个Dialog.效果见图



这个运行效果是在华为大屏手机上,But,当我兴致勃勃的将代码部署到老红米(红米一代,最老版本的红米)上时,和我预想的差了不止一点啊看图:


敢问这一道蓝色的线是什么鬼??我看看了代码,将设置的透明背景去掉,离奇的发现,这条蓝色的线是标题和正文分割线骂人骂人。去掉这根线也不是什么难事,只需要在原来的代码上加上几行代码就搞定了。

看代码:

package com.homenet.androidclient.dialog;import android.app.Dialog;import android.content.Context;import android.graphics.Color;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.view.WindowManager;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageButton;import android.widget.TextView;import com.homenet.androidclient.R;import com.homenet.androidclient.bean.UserBean;import java.util.List;/** * Description: 房屋设施弹出框<br/> * Copyright (c) ,${year} , janson <br/> * This program is protected by copyright laws. <br/> * Program Name:${file_name} <br/> * Date: 2016-10-26 * @author 史元睿 * @version : 1.0 */public class EquDialog extends Dialog{    private Context context;    private GridView gridView;    private ImageButton mydelect;    private MyEquAdapter adapter;    private List<String> list=UserBean.devices;    public EquDialog(Context context, List<String> devices) {        super(context);        this.context = context;        setContentView(R.layout.dialog_equ);        Window window = getWindow();        WindowManager.LayoutParams params = window.getAttributes();        params.gravity = Gravity.CENTER;        window.setBackgroundDrawableResource(android.R.color.transparent);        window.setAttributes(params);        setCanceledOnTouchOutside(true);          
        //上面的代码,是用来去除Holo主题的蓝色线条
 try{ int dividerID=context.getResources().getIdentifier("android:id/titleDivider", null, null); View divider=findViewById(dividerID); divider.setBackgroundColor(Color.TRANSPARENT); }catch(Exception e){ e.printStackTrace(); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); gridView= (GridView) findViewById(R.id.dialog_gv); mydelect= (ImageButton) findViewById(R.id.dialog_delect); mydelect.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { EquDialog.this.dismiss(); } }); adapter=new MyEquAdapter(context,list); gridView.setAdapter(adapter); }} class MyEquAdapter extends BaseAdapter{ private Context context; private List<String> list=UserBean.devices; public MyEquAdapter() { } public MyEquAdapter(Context context,List<String> list) { this.context = context; this.list=list; } //用一个方法来获取数据源 public void setList(Context context,List<String> list) { this.context = context; this.list = list; } public List<String> getList() { return list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if(convertView==null){ holder=new ViewHolder(); convertView = LayoutInflater.from(context).inflate(R.layout.equ_gv_item, null); holder.tv= (TextView) convertView.findViewById(R.id.equ_gv_item_tv); convertView.setTag(holder); }else { holder = (ViewHolder) convertView.getTag(); } holder.tv.setText(list.get(position)); return convertView; } class ViewHolder{ private TextView tv; }}

没错,一个try catch 就搞定,现在任凭你在那个手机上都是没有那条讨厌的蓝色线。
这个自定义Dialog 布局如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:gravity="center"    android:layout_gravity="center"    android:background="@color/transparent">    <LinearLayout        android:layout_width="280dp"        android:layout_height="330dp"        android:orientation="vertical"        android:layout_marginLeft="15dp"        android:layout_marginRight="15dp"        android:background="@color/white">        <!--房屋配套设施-->        <TextView            android:layout_width="match_parent"            android:layout_height="40dp"            android:text="房屋配套设施"            android:gravity="center_vertical"            android:layout_marginLeft="15dp"            android:textColor="@color/black"/>        <View            android:layout_width="match_parent"            android:layout_height="1dp"            android:background="@color/gainsboro"/>                <GridView            android:id="@+id/dialog_gv"            android:layout_width="wrap_content"            android:background="@color/white"            android:layout_height="wrap_content"            android:layout_marginTop="15dp"            android:layout_marginLeft="15dp"            android:layout_marginRight="15dp"            android:clickable="true"            android:clipChildren="true"            android:columnWidth="35dp"            android:listSelector="@null"            android:numColumns="3"            android:paddingBottom="1dp"            android:stretchMode="columnWidth"            android:verticalSpacing="1dp"></GridView>    </LinearLayout>    <ImageButton        android:id="@+id/dialog_delect"        android:layout_width="20dp"        android:layout_height="20dp"        android:layout_marginTop="20dp"        android:background="@mipmap/delect"/></LinearLayout>








0 0
原创粉丝点击