自定义对话框加状态选择器

写个Demo复习下自定义对话框和状态选择器

先上效果

源码:http://download.csdn.net/detail/qq_35463672/9591065

第一步,两张图片放到drawable-hdpi下,在res下文件夹drawable再在其中创建img.xml的状态选择器

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/fire" android:state_pressed="true"/>
 <!-- pressed -->
    <item android:drawable="@drawable/fire" android:state_focused="true"/>
 <!-- focused -->
    <item android:drawable="@drawable/normal"/>
 <!-- default -->

</selector>

三种状态对应不同的图片

第二步:创建mydialog试图

<?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="match_parent"
    android:orientation="vertical" >

  <TextView
      android:gravity="center"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:text="小型火焰"/>

  <!-- 一定要加上这句android:clickable="true" -->
  <ImageView
       android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:clickable="true"
      android:background="@drawable/img"/>

</LinearLayout>

注意,一定要加上这句android:clickable="true",这样才能响应点击,状态选择器才有效

第三步:写MainActivity

package com.example.mytest002;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
    Button button1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button1=(Button) findViewById(R.id.button1);
        button1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                showdialog();
            }
        });
    }
    public void showdialog() {

        AlertDialog.Builder builder=new Builder(this);
        AlertDialog dialog=builder.create();
        View view=View.inflate(this, R.layout.my_dialog, null);
        // 去掉上下左右边距, 兼容2.x版本
        dialog.setView(view, 0,0,0,0);
        dialog.show();
    }

}
时间: 2024-08-30 04:33:45

自定义对话框加状态选择器的相关文章

View(视图)——对话框之自定义对话框

一.自定义对话框 1.不能直接实例化使用 2.使用内部构造器来生成对话框 3.new  AlertDialog.Builder(context)  实例化构造器 1-setTitle (标题) 2-setMessage (消息) 3-按钮 1°确认按钮  setPositiveButton(“文字”,点击事件监听器) 2°否认按钮  setNegativeButton(“文字”,点击事件监听器) 3°中立按钮  setNeutralButton(“文字”,点击事件监听器) 4-show() 创建

Android开发学习笔记-自定义对话框

系统默认的对话框只能显示简单的标题内容以及按钮,而如果想要多现实其他内容则就需要自定义对话框,下面是自定义对话框的方法. 1.先定义对话框的模版 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="300d

android 自定义对话框

新建一个布局文件 my_dialog.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match

Android—关于自定义对话框的工具类

开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函数的参数中,并且是静态,可以用类直接调用此函数. public class MyAutoDialogUtil { private static AlertDialog dialog; /** * * @param context * 上下文 * @param text * 自定义显示的文字 * @p

Android实例-手机安全卫士(十)-自定义对话框

一.目标. 当点击“手机防盗”时弹出自定义的设置密码对话框.如果已经设置密码,则弹出自定义的输入密码对话框. 二.代码实现. 1.在layout文件夹下新建xml(取名setpwddialog.xml)文件用于设置自定义对话框的UI. 新建xml文件代码如下; 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.a

软键盘挡住自定义对话框中的内容

在自定义的对话框中有EditText,获取焦点的时候弹出软键盘很可能会挡住对话框中的一些按钮或其他内容. 可以在自定义对话框中的oncreate()方法中设置软键盘的模式,如下 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |                WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 当软键盘弹出时,弹出

采用建造者模式自定义对话框

1.对话框视图 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="300dip" 4 android:layout_height="240dip" 5 andro

Dialog主题Activity实现自定义对话框效果

想必大家都用过Dialog主题的Activity吧,用它来显示自定义对话框效果绝对是一个非常不错的选择. 即把activity交互界面以Dialog的形式展现出来,Dialog主题的Activity大小将以内容的宽高来决定 <activity android:name=”MainActivity” android:theme=”@android:style/Theme.Dialog”> </activity> 可以看到设置为Theme.Dialog主题的activity显示效果,

安卓应用-自定义对话框

现在要说的是自定义对话框. 常用的对话框有好多网友们整理的资料,对话框大全啊神马的.但是除了常用对话框外,有时候要根据自己的需求定义新的对话框,下面就稍微说一下自定义对话框的一种做法. 1.需要一个对话框内容的xml配置文件game_dialog.xml,这个应该不需要过多解释,基本布局而已. 有几个图片按钮,所以在drawable下面放几张图,嫌麻烦的话,也可以用Button替换,看下效果. 需要说明的是,所有控件的id这里我都用的@id,因为id我都写在了res/values/ids.xml