郑州市建设劳务服务网站,wordpress 汽车,互联网平台公司有哪些,如何在百度做网站安卓对话框是的实现需要用到 AlertDialog.Builder 实例对象
之后我们就用这个对象的以下方法
下面列举几个常用的方法
setTitle():设置 标题
setview():设置 自定义页面#xff08;下面会细讲自定义页面#xff09;
setPositiveButton():一般用于确定功能
setNegativeBu…安卓对话框是的实现需要用到 AlertDialog.Builder 实例对象
之后我们就用这个对象的以下方法
下面列举几个常用的方法
setTitle():设置 标题
setview():设置 自定义页面下面会细讲自定义页面
setPositiveButton():一般用于确定功能
setNegativeButton()一般用于取消功能
setOnShowListener():对话框出现
setOnCancelListener()对话框消失show():用于展示对话框 注意如果没有这句话你的对话框不会显示 一般我们在自定义页面的时候不会都写在一个页面中造成代码杂糅
往往都需要新建一个页面在此是不需要新建新的Activity只需要一个Layout布局页面
这里简单写一个 代码如下
?xml version1.0 encodingutf-8?
androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalEditTextandroid:idid/ed_ipandroid:layout_width269dpandroid:layout_height83dpandroid:layout_marginTop28dpandroid:layout_marginEnd68dpandroid:ems10android:gravitycenterandroid:hint请输入IP例如192.168.1.1android:inputTypetextPersonNameapp:layout_constraintEnd_toEndOfparentapp:layout_constraintTop_toTopOfparent /EditTextandroid:idid/ed_portandroid:layout_width261dpandroid:layout_height86dpandroid:layout_marginTop120dpandroid:layout_marginEnd72dpandroid:ems10android:gravitycenterandroid:hint请输入端口例如8080android:inputTypetextPersonNameapp:layout_constraintEnd_toEndOfparentapp:layout_constraintTop_toTopOfparent //androidx.constraintlayout.widget.ConstraintLayout
那么我们如何加入到AlertDialog中呢
通过使用 setview():设置 自定义页面 View viewLayoutInflater.from(IntroductoryActivity.this).inflate(R.layout.ipconfig,null);
ip view.findViewById(R.id.edit_ip);
port view.findViewById(R.id.edit_port);
setview(view);注意在这里与我们平时拿控件的方法不同一定要加上view. 再加上控件 否则会造成空指针报错
以下附上全部代码示例该实例是一个引导页其中涉及到数据存储的知识点可以看我的其他博客 MainActivity默认代码无任何功能
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}
}
MainActivity对应的Layout文件同样为默认代码
?xml version1.0 encodingutf-8?
androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.MainActivityTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textHello World!app:layout_constraintBottom_toBottomOfparentapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfparent //androidx.constraintlayout.widget.ConstraintLayout
GuideActivity 引导页主界面
package com.example.myapplication;import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;import java.util.ArrayList;
import java.util.List;public class GuideActivity extends AppCompatActivity {private ViewPager vp;private ListImageView imageViews;private int[] imgs {R.drawable.y0, R.drawable.y1, R.drawable.y2, R.drawable.y3};private Button btn, btn2;private EditText ed_ip, ed_port;private ImageView[] dotViews;private GuideAdapter adapter;Overrideprotected void onCreate(Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);getSupportActionBar().hide();setContentView(R.layout.activity_guide);vp findViewById(R.id.guide_vp);btn findViewById(R.id.guide_btn);btn2 findViewById(R.id.guide_btn2);//初始化图片initImgs();//初始化底部圆点指示器initDots();adapter new GuideAdapter(imageViews);vp.setAdapter(adapter);btn.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {SharedPreferences.Editor editor getSharedPreferences(data, MODE_PRIVATE).edit();editor.putString(isFirst, 1);editor.apply();Intent intent new Intent(GuideActivity.this, MainActivity.class);startActivity(intent);finish();}});btn2.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {View view LayoutInflater.from(GuideActivity.this).inflate(R.layout.ipconfig, null);ed_ip view.findViewById(R.id.ed_ip);ed_port view.findViewById(R.id.ed_port);AlertDialog.Builder builder new AlertDialog.Builder(GuideActivity.this);SharedPreferences sp getSharedPreferences(demo1, MODE_PRIVATE);ed_ip.setText(sp.getString(ip, ));ed_port.setText(sp.getString(port, ));builder.setTitle(端口设置).setView(view).setPositiveButton(确定, new DialogInterface.OnClickListener() {Overridepublic void onClick(DialogInterface dialog, int which) {SharedPreferences.Editor editor sp.edit();editor.putString(ip, ed_ip.getText().toString());editor.putString(port, ed_port.getText().toString());editor.apply();}}).setNegativeButton(取消, new DialogInterface.OnClickListener() {Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(GuideActivity.this, 取消端口设置, Toast.LENGTH_SHORT).show();}}).show();}});vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}Overridepublic void onPageSelected(int position) {for (int i 0; i dotViews.length; i) {if (position i) {dotViews[i].setImageResource(R.drawable.guide_selector);} else {dotViews[i].setImageResource(R.drawable.guide_white);}if (position dotViews.length - 1) {btn.setVisibility(View.VISIBLE);btn2.setVisibility(View.VISIBLE);} else {btn.setVisibility(View.GONE);btn2.setVisibility(View.GONE);}}}Overridepublic void onPageScrollStateChanged(int state) {}});}/*** 初始化底部圆点指示器*/private void initDots() {LinearLayout layout findViewById(R.id.guide_ll);LinearLayout.LayoutParams params new LinearLayout.LayoutParams(20, 20);params.setMargins(10, 0, 10, 0);dotViews new ImageView[imgs.length];for (int i 0; i imageViews.size(); i) {ImageView imageView new ImageView(this);imageView.setLayoutParams(params);imageView.setImageResource(R.drawable.guide_white);if (i 0) {imageView.setImageResource(R.drawable.guide_selector);} else {imageView.setImageResource(R.drawable.guide_white);}dotViews[i] imageView;final int finalI i;dotViews[i].setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {vp.setCurrentItem(finalI);}});layout.addView(imageView);}}/*** 初始化图片*/private void initImgs() {ViewPager.LayoutParams params new ViewPager.LayoutParams();imageViews new ArrayListImageView();for (int i 0; i imgs.length; i) {ImageView imageView new ImageView(this);imageView.setLayoutParams(params);imageView.setImageResource(imgs[i]);imageView.setScaleType(ImageView.ScaleType.FIT_XY);imageViews.add(imageView);}}}
activity_guide.xml引导页layout文件
?xml version1.0 encodingutf-8?
RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroidx.viewpager.widget.ViewPagerandroid:idid/guide_vpandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent /LinearLayoutandroid:idid/guide_llandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_alignParentBottomtrueandroid:layout_centerHorizontaltrueandroid:layout_marginBottom100dpandroid:orientationhorizontal /Buttonandroid:idid/guide_btnandroid:layout_width100dpandroid:layout_height40dpandroid:layout_aboveid/guide_llandroid:layout_centerHorizontaltrueandroid:layout_marginBottom10dpandroid:background#2990E3android:text开始体验android:textColor#ffffffandroid:visibilityinvisible /Buttonandroid:idid/guide_btn2android:layout_width100dpandroid:layout_height40dpandroid:layout_alignRightid/guide_vpandroid:layout_centerHorizontaltrueandroid:layout_marginBottom10dpandroid:background#2990E3android:text端口设置android:textColor#ffffffandroid:visibilityinvisible//RelativeLayoutGuideAdapter 引导页适配器
package com.example.myapplication;import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;import java.util.List;public class GuideAdapter extends PagerAdapter {private final ListImageView imageViews;public GuideAdapter(ListImageView imageViews) {this.imageViews imageViews;}/*** 获取当前要显示对象的数量*/Overridepublic int getCount() {return imageViews.size();}/*** 判断是否用对象生成界面*/Overridepublic boolean isViewFromObject(NonNull View view, NonNull Object o) {return view o;}/*** 从ViewGroup中移除当前对象*/Overridepublic void destroyItem(NonNull ViewGroup container, int position, NonNull Object object) {container.removeView(imageViews.get(position));}/*** 当前要显示的对象*/NonNullOverridepublic Object instantiateItem(NonNull ViewGroup container, int position) {container.addView(imageViews.get(position));return imageViews.get(position);}}
ipconfig.xmlip配置界面 ?xml version1.0 encodingutf-8?
androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalEditTextandroid:idid/ed_ipandroid:layout_width269dpandroid:layout_height83dpandroid:layout_marginTop28dpandroid:layout_marginEnd68dpandroid:ems10android:gravitycenterandroid:hint请输入IP例如192.168.1.1android:inputTypetextPersonNameapp:layout_constraintEnd_toEndOfparentapp:layout_constraintTop_toTopOfparent /EditTextandroid:idid/ed_portandroid:layout_width261dpandroid:layout_height86dpandroid:layout_marginTop120dpandroid:layout_marginEnd72dpandroid:ems10android:gravitycenterandroid:hint请输入端口例如8080android:inputTypetextPersonNameapp:layout_constraintEnd_toEndOfparentapp:layout_constraintTop_toTopOfparent //androidx.constraintlayout.widget.ConstraintLayout guide_white.xml未选择白色圆点
?xml version1.0 encodingutf-8?
shape xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:shapeovalsize android:height20dp android:width20dp/solid android:color#fff/
/shapeguide_selector.xml 选择蓝色圆点
?xml version1.0 encodingutf-8?
shape xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:shapeovalsize android:height20dp android:width20dp/solid android:color#0687ED/
/shape引导页的4张图片自己加就可以了