android 自定义对话框 demo,Android复习选项菜单、自定义对话框、隐式跳转制作一个综合小demo...

Android复习选项菜单、自定义对话框、隐式跳转制作一个综合小demo

————安德风QQ1652102745

一、最终效果演示:

20200428144236736335.gif

二、布局设计

1、界面布局设计 Activity_main.xml

1 <?xml version="1.0" encoding="utf-8"?>

2

3 xmlns:app="http://schemas.android.com/apk/res-auto"

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

5 android:layout_width="wrap_content"

6 android:layout_height="wrap_content"

7 tools:context=".MainActivity"

8 android:background="@color/colorPrimary"

9 >

10

11

12

13 android:id="@+id/imageView"

14 android:layout_width="422dp"

15 android:layout_height="746dp"

16 app:layout_constraintBottom_toBottomOf="parent"

17 app:layout_constraintEnd_toEndOf="parent"

18 app:layout_constraintStart_toStartOf="parent"

19 app:layout_constraintTop_toTopOf="parent"

20 app:srcCompat="@drawable/menu" />

21

2、自定义对话框布局设计 (dailog.xml)

1 <?xml version="1.0" encoding="utf-8"?>

2

3 xmlns:android="http://schemas.android.com/apk/res/android"

4 xmlns:app="http://schemas.android.com/apk/res-auto"

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

6 android:layout_width="match_parent"

7 android:layout_height="wrap_content"

8 android:layout_gravity="center_horizontal"

9 android:background="@drawable/dialog_bg">

10

11

12 android:id="@+id/textView"

13 android:layout_width="wrap_content"

14 android:layout_height="wrap_content"

15 android:layout_marginTop="356dp"

16 android:text="您确定要退出吗?"

17 android:textColor="#EF0A0A"

18 android:textSize="40sp"

19 android:textStyle="bold"

20 app:layout_constraintEnd_toEndOf="parent"

21 app:layout_constraintHorizontal_bias="0.62"

22 app:layout_constraintStart_toStartOf="parent"

23 app:layout_constraintTop_toTopOf="parent" />

24

25

26 android:layout_width="409dp"

27 android:layout_height="184dp"

28 android:orientation="horizontal"

29 app:layout_constraintBottom_toBottomOf="parent"

30 app:layout_constraintEnd_toEndOf="parent"

31 app:layout_constraintHorizontal_bias="0.487"

32 app:layout_constraintStart_toStartOf="parent"

33 app:layout_constraintTop_toBottomOf="@+id/textView"

34 android:gravity="center_vertical"

35 app:layout_constraintVertical_bias="0.251">

36

37

38 android:id="@+id/yesbutton"

39 android:layout_width="80dp"

40 android:layout_height="50dp"

41 android:layout_weight="1"

42 android:layout_marginLeft="40dp"

43 android:background="@drawable/yes_btn" />

44

45

46 android:id="@+id/nobutton"

47 android:layout_width="80dp"

48 android:layout_height="50dp"

49 android:layout_marginRight="40dp"

50 android:layout_marginLeft="20dp"

51 android:layout_weight="1"

52 android:background="@drawable/no_btn" />

53

54

3、菜单布局设计文件路径(menu/optaionsmenu.xml)

android:id="@+id/zhuiju"/>

android:id="@+id/shopping"

/>

android:id="@+id/study"/>

android:id="@+id/music"/>

android:id="@+id/exit"/>

三、功能实现

1、MainActivity.java

1 package com.example.optionsmenu;

2

3 import androidx.annotation.NonNull;

4 import androidx.appcompat.app.AppCompatActivity;

5

6 import android.content.Intent;

7 import android.net.Uri;

8 import android.os.Bundle;

9 import android.view.Menu;

10 import android.view.MenuItem;

11

12 public class MainActivity extends AppCompatActivity {

13

14 @Override

15 protected void onCreate(Bundle savedInstanceState) {

16 super.onCreate(savedInstanceState);

17 setContentView(R.layout.activity_main);

18

19 }

20

21 @Override

22 public boolean onCreateOptionsMenu(Menu menu) {

23 getMenuInflater().inflate(R.menu.optionsmenu,menu);

24 return true;

25 }

26

27 @Override

28 public boolean onOptionsItemSelected(@NonNull MenuItem item) {

29 switch (item.getItemId()){

30 case R.id.zhuiju:

31 Intent intent=new Intent();

32 intent.setAction(Intent.ACTION_VIEW);

33 intent.setData(Uri.parse("https://www.iqiyi.com/"));

34 startActivity(intent);break;

35 case R.id.shopping:

36 Intent intent2=new Intent();

37 intent2.setAction(Intent.ACTION_VIEW);

38 intent2.setData(Uri.parse("https://www.quanbk.cn"));

39 startActivity(intent2);break;

40 case R.id.music:

41 Intent intent3=new Intent();

42 intent3.setAction(Intent.ACTION_VIEW);

43 intent3.setData(Uri.parse("https://www.quanbk.cn/yy"));

44 startActivity(intent3);break;

45 case R.id.study:

46 Intent intent4=new Intent();

47 intent4.setAction(Intent.ACTION_VIEW);

48 intent4.setData(Uri.parse("https://www.bilibili.com/"));

49 startActivity(intent4);break;

50 case R.id.exit:

51 mydialog mydialog=new mydialog(this,R.style.mydialog);

52 //实例化mydialog设置参数( 参数1:环境上下文 (这里设置this), 参数2:导入样式R.style/样式名)

53 mydialog.show();//展示效果

54 break;

55

56

57

58

59 }

60

61 return super.onOptionsItemSelected(item);

62 }

63 }

2、自定义对话框功能实现 mydailog.java

1 package com.example.optionsmenu;

2

3 import android.app.Dialog;

4 import android.content.Context;

5 import android.view.View;

6

7 import androidx.annotation.NonNull;

8

9 public class mydialog extends Dialog {

10 public mydialog(@NonNull Context context, int themeResId) {

11 super(context, themeResId);

12 setContentView(R.layout.dialog_main);

13

14 //YES按钮安装监听器,实现响应功能

15 findViewById(R.id.yesbutton).setOnClickListener(new View.OnClickListener() {

16 @Override

17 public void onClick(View v) {

18 System.exit(0); //自定义对话框点击YES按钮时,执行退出

19 }

20 });

21 //NO按钮安装监听器,实现响应功能

22 findViewById(R.id.nobutton).setOnClickListener(new View.OnClickListener() {

23 @Override

24 public void onClick(View v) {

25 dismiss(); //自定义对话框点击NO按钮时,取消

26 }

27 });

28 }

29

30 }

四、Values属性值设置:

1、color.xml 颜色设置

1 <?xml version="1.0" encoding="utf-8"?>

2

3 #FBDA03

4 #FBDA03

5 #FBDA03

6

7

2、Style.xml 样式设置

1

2

3

4

5

6 @color/colorPrimary

7 @color/colorPrimaryDark

8 @color/colorAccent

9

10

11

12 true

13

14 @android:color/transparent

15

16

17

原文:https://www.cnblogs.com/adf520/p/12793744.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值