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


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

                                           ————安德风QQ1652102745

     

    一、最终效果演示:

    二、布局设计

    1、界面布局设计 Activity_main.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     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     <ImageView
    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 </androidx.constraintlayout.widget.ConstraintLayout>

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

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <androidx.constraintlayout.widget.ConstraintLayout
     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     <TextView
    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     <LinearLayout
    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         <Button
    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         <Button
    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     </LinearLayout>
    54 </androidx.constraintlayout.widget.ConstraintLayout>

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

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item android:title="追剧"
            android:id="@+id/zhuiju"/>
        <item android:title="购物"
            android:id="@+id/shopping"
            />
        <item android:title="学习"
            android:id="@+id/study"/>
        <item android:title="音乐"
        android:id="@+id/music"/>
        <item android:title="退出"
            android:id="@+id/exit"/>
    </menu>

    三、功能实现

    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 <resources>
    3     <color name="colorPrimary">#FBDA03</color>
    4     <color name="colorPrimaryDark">#FBDA03</color>
    5     <color name="colorAccent">#FBDA03</color>
    6  
    7 </resources>

    2、Style.xml 样式设置

     1 <resources>
     2 
     3     <!-- Base application theme. -->
     4     <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
     5         <!-- Customize your theme here. -->
     6         <item name="colorPrimary">@color/colorPrimary</item>
     7         <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
     8         <item name="colorAccent">@color/colorAccent</item>
     9     </style>
    10     <!--  设置自定义对话框样式:①导入对话框样式模板  -->
    11     <style name="mydialog" parent="android:style/Theme.Dialog">
    12         <item name="android:windowNoTitle">true</item>
    13         <!--   设置关闭自定义对话框标题    -->
    14         <item name="android:windowBackground">@android:color/transparent</item>
    15         <!--   设置自定义对话框背景颜色为透明    -->
    16     </style>
    17 </resources>
  • 相关阅读:
    可伸缩性/可扩展性(Scalable/scalability)
    广播变量与累加器
    swool配置ssl
    使用smb映射到本地时 访问权限,请联系管理员错误
    npm 安装cnpm淘宝镜像时报错解决
    在使用mysql8.0的时候遇到的密码链接问题
    配置ubuntu的超管账号密码
    nginx 配置laravel框架域名配置
    eclipse 下载安装单元测试log4j的配置与搭建
    eclipse安装Spring的具体步骤
  • 原文地址:https://www.cnblogs.com/adf520/p/12793744.html
Copyright © 2020-2023  润新知