android按钮扁平,Android编程自定义扁平化对话框示例

本文实例讲述了Android编程自定义扁平化对话框。分享给大家供大家参考,具体如下:

平时我们开发的大多数的Android、iOS的APP,它们的风格都是拟物化设计。如Android 4.X、iOS 7、WP8采用的是扁平化设计,可以看出扁平化设计是未来UI设计的趋势。其实扁平化设计要比拟物化设计要简单一点,扁平化设计更加的简约,给人视觉上更加舒服。

Shamoo想到在Android平台上弄一个扁平化的对话框。参考过一篇帖子,然后改了一下。

这个Demo比较简单,首先是一个dialog的布局文件,这个dialog的布局要实例化成对话框可以通过AlertDialog.Builder的setView方法,将LayoutInflater实例化的dialog布局设置对话框具体显示内容。效果图如下:

bc06ca9247b227be50ea3962cc8ca6c1.png

下面直接贴代码

DialogWindows.Java

package com.example.dialogwindows;

import android.net.Uri;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.Context;

import android.content.Intent;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageButton;

import android.widget.ImageView;

import android.widget.Toast;

public class DialogWindows extends Activity {

private Button button;

private View dialogView;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

button = (Button) findViewById(R.id.btn);

button.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Builder builder = myBuilder(DialogWindows.this);

final AlertDialog dialog = builder.show();

//点击屏幕外侧,dialog不消失

dialog.setCanceledOnTouchOutside(false);

Button btnOK = (Button) dialogView.findViewById(R.id.btn_ok);

btnOK.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Toast.makeText(DialogWindows.this, "你点击了确定按钮", Toast.LENGTH_SHORT).show();

dialog.dismiss();

}

});

Button btnCancel = (Button) dialogView.findViewById(R.id.btn_cancel);

btnCancel.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Toast.makeText(DialogWindows.this, "你点击了取消按钮", Toast.LENGTH_SHORT).show();

dialog.dismiss();

}

});

ImageButton customviewtvimgCancel = (ImageButton) dialogView.findViewById(R.id.btn_exit);

customviewtvimgCancel.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Toast.makeText(DialogWindows.this, "你点击了退出按钮", Toast.LENGTH_SHORT).show();

dialog.dismiss();

}

});

}

});

}

protected Builder myBuilder(Context context) {

LayoutInflater inflater = getLayoutInflater();

AlertDialog.Builder builder = new AlertDialog.Builder(context);

dialogView = inflater.inflate(R.layout.dialog, null);

return builder.setView(dialogView);

}

}

dialog.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/dialog_title"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:background="#1A94F9" >

android:id="@+id/tv_title"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:padding="10dp"

android:text="@string/about"

android:textColor="#000000" />

android:id="@+id/btn_exit"

android:layout_width="40dp"

android:layout_height="40dp"

android:layout_alignParentRight="true"

android:layout_centerVertical="true"

android:background="@drawable/canceltor" />

android:id="@+id/dialog_msg"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="vertical"

android:layout_below="@id/dialog_title"

android:padding="20dp" >

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/author"

android:textColor="#ffffff" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:linksClickable="true"

android:text="@string/blog"

android:textColor="#ffffff" />

android:id="@+id/customviewlayLink"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_below="@id/dialog_msg"

android:orientation="horizontal"

android:paddingLeft="20dp"

android:paddingRight="20dp"

android:paddingBottom="20dp" >

android:id="@+id/btn_ok"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:background="@drawable/linkbtnbged"

android:linksClickable="true"

android:layout_weight="1"

android:layout_marginRight="10dp"

android:text="@string/btn_ok" />

android:id="@+id/btn_cancel"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:linksClickable="true"

android:background="@drawable/linkbtnbged"

android:text="@string/btn_cancel"

android:layout_marginLeft="10dp"

android:layout_weight="1" />

main.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/btn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:text="@string/show_dialog" />

希望本文所述对大家Android程序设计有所帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值