当前位置: 首页 > news >正文

仿xss网站搭建徐州网页关键词优化

仿xss网站搭建,徐州网页关键词优化,石家庄模板建站,武汉品牌网站开发安卓对话框是的实现需要用到 AlertDialog.Builder 实例对象 之后我们就用这个对象的以下方法 下面列举几个常用的方法 setTitle():设置 标题 setview():设置 自定义页面(下面会细讲自定义页面) setPositiveButton():一般用于确定功能 setNegativeBu…

安卓对话框是的实现需要用到 AlertDialog.Builder 实例对象

之后我们就用这个对象的以下方法

下面列举几个常用的方法

setTitle():设置 标题  
setview():设置 自定义页面(下面会细讲自定义页面)
setPositiveButton():一般用于确定功能
setNegativeButton():一般用于取消功能
setOnShowListener():对话框出现
setOnCancelListener():对话框消失

show():用于展示对话框  注意:如果没有这句话你的对话框不会显示


一般我们在自定义页面的时候不会都写在一个页面中,造成代码杂糅

往往都需要新建一个页面,在此是不需要新建新的Activity,只需要一个Layout布局页面

这里简单写一个

 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:id="@+id/ed_ip"android:layout_width="269dp"android:layout_height="83dp"android:layout_marginTop="28dp"android:layout_marginEnd="68dp"android:ems="10"android:gravity="center"android:hint="请输入IP,例如192.168.1.1"android:inputType="textPersonName"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintTop_toTopOf="parent" /><EditTextandroid:id="@+id/ed_port"android:layout_width="261dp"android:layout_height="86dp"android:layout_marginTop="120dp"android:layout_marginEnd="72dp"android:ems="10"android:gravity="center"android:hint="请输入端口,例如8080"android:inputType="textPersonName"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>

那么我们如何加入到AlertDialog中呢

通过使用 setview():设置 自定义页面

View view=LayoutInflater.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 version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></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 List<ImageView> 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 ArrayList<ImageView>();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 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_parent"><androidx.viewpager.widget.ViewPagerandroid:id="@+id/guide_vp"android:layout_width="match_parent"android:layout_height="match_parent" /><LinearLayoutandroid:id="@+id/guide_ll"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="100dp"android:orientation="horizontal" /><Buttonandroid:id="@+id/guide_btn"android:layout_width="100dp"android:layout_height="40dp"android:layout_above="@id/guide_ll"android:layout_centerHorizontal="true"android:layout_marginBottom="10dp"android:background="#2990E3"android:text="开始体验"android:textColor="#ffffff"android:visibility="invisible" /><Buttonandroid:id="@+id/guide_btn2"android:layout_width="100dp"android:layout_height="40dp"android:layout_alignRight="@id/guide_vp"android:layout_centerHorizontal="true"android:layout_marginBottom="10dp"android:background="#2990E3"android:text="端口设置"android:textColor="#ffffff"android:visibility="invisible"/></RelativeLayout>

GuideAdapter :引导页适配器 

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 List<ImageView> imageViews;public GuideAdapter(List<ImageView> 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));}/*** 当前要显示的对象*/@NonNull@Overridepublic Object instantiateItem(@NonNull ViewGroup container, int position) {container.addView(imageViews.get(position));return imageViews.get(position);}}

ipconfig.xml:ip配置界面 

 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:id="@+id/ed_ip"android:layout_width="269dp"android:layout_height="83dp"android:layout_marginTop="28dp"android:layout_marginEnd="68dp"android:ems="10"android:gravity="center"android:hint="请输入IP,例如192.168.1.1"android:inputType="textPersonName"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintTop_toTopOf="parent" /><EditTextandroid:id="@+id/ed_port"android:layout_width="261dp"android:layout_height="86dp"android:layout_marginTop="120dp"android:layout_marginEnd="72dp"android:ems="10"android:gravity="center"android:hint="请输入端口,例如8080"android:inputType="textPersonName"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>

 guide_white.xml:未选择白色圆点

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><size android:height="20dp" android:width="20dp"/><solid android:color="#fff"/>
</shape>

guide_selector.xml :选择蓝色圆点

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><size android:height="20dp" android:width="20dp"/><solid android:color="#0687ED"/>
</shape>

引导页的4张图片自己加就可以了 

http://www.dinnco.com/news/37571.html

相关文章:

  • 邢台做wap网站的公司宁波seo外包服务
  • 做问卷调查赚钱的网站百度推广效果怎样
  • 建网站需要身份证吗黄冈网站推广软件
  • 国外建设网站的软件360搜索引擎入口
  • 株洲市做公司官方网站网盘搜索引擎
  • 百度推广官网网站陕西网页设计
  • 肥城网站设计公司爱站网综合查询
  • 广州开发区投资集团百度seo网络营销书
  • 南京工商注册核名查询系统seo网站推广工具
  • 建设公司网站方案微信小程序开发平台官网
  • 丰台网站建设多少钱深圳整合营销
  • vs做网站如何输出百度流量统计
  • 做重视频网站高端网站建设案例
  • 整个网站都在下雪特效怎么做网络营销企业网站推广
  • 知名高端网站建设报价b2b网站排名
  • 新都有没有做网站的市场营销策划书
  • 常熟企业网站建设企业营销策划有限公司
  • 企业微商城网站建设沈阳专业网站seo推广
  • 弧光之源网站建设广州网站设计制作
  • 个人适合建什么网站洛阳网站建设优化
  • 宁国市有做网站seo优化操作
  • wordpress cpanel宁波seo关键词培训
  • 腾讯云建设网站教程贵阳关键词优化平台
  • 做网站需要有服务器新东方烹饪学校
  • 哪些人需要做网站信息流广告投放平台
  • vue php 哪个做网站 好网络推广优化seo
  • 深圳专业网站排名公司阿里云域名注册网站
  • 网站如何做导航数据网站有哪些
  • mip wordpress主题seo 优化 服务
  • 湖南平台网站建设哪里有自助建站官网