android中常用的几种弹框

  1. AlertDialog弹框
    AlertDialog弹框,会弹出一个对话框,使得该对话框处于界面顶层,并且停止活动中所有操作,一般用于在用户删除比较重要的文件时使用,用来提醒用户资料的重要性。

    代码如下:

     AlertDialog.Builder dialog = new AlertDialog.Builder (MainActivity.this);  //创建对象
                dialog.setTitle("this  is   dialog ");   //设置弹框的标题
                dialog.setMessage("something important.");   //设置弹框的内容
                dialog.setCancelable(false);  //设置能否用back键返回
                dialog.setPositiveButton("ok", new DialogInterface.OnClickListener() {
               //设置确定按钮的点击事件
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                });
                dialog.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                //设置取消按钮的点击事件
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                });
                dialog.show();
    
  2. ListView的用法
    ListView的简单用法,创建简单的xml文件,并在onCreate()函数中写入下列代码即可

private String[] = {"123","456","789","abc","def","ghi"};
ArrayAdapter<String> daapter = new 				ArrayAdapter<String(MainActivity.this,R.layout.simple_list_item_1,source);
	//ListView需要借助适配器完成,ArrayAdapter<E>适配器可以通过泛型来指定需要适配的数据类型
	//simple_list_item_1只引用了Android Studio中提前写好的布局文件
        ListView listView = findViewById(R.id.list_view);
        listView.setAdapter(adapter);
        //setAdapter()方法,将适配器中的数据传输进去
  1. 自定义LisiView界面
    创建自己想要的ListView界面的显示效果图,此处以图片和文字作为自定义界面。

创建list_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"  
    android:layout_margin="15dp"
    >
    
    <ImageView
        android:id="@+id/list_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" /> 
        
        <!--图片视图-->
        
    <TextView
        android:id="@+id/list_name"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="15dp"
        />
        <!--文字视图-->
        
</LinearLayout>

创建一个实体类型,用来作为ListView中的适配类型(ListView中的基本行)。新建Test_list类

public class Test_list{
    private String name;
    private int imageId;

    public Test_list(String name,int imageId){
        this.name = name;
        this.imageId = imageId;
    }  //创建属于ListView的行内容

    public String getName() {
        return name;
    }
    public int getImageId() {
        return imageId;
    }
}

自定义一个适配器,该类继承了ArrayAdapter,并且泛型指定为Test_list类。

public class Text_Adapter extends ArrayAdapter<Test_list> {
    private  int rouse_id;
    public Text_Adapter (Context context, int textView_id, List<Test_list> objects){
        super(context,textView_id,objects);
        rouse_id = textView_id;
    }
    //重写了父类的构造函数,将上下文、布局的id、数据,传入进来

    private TextView Name;
    private ImageView Image;
    @Override
    public View getView(int position, View convertView,ViewGroup parent) {
        Test_list test_list = getItem(position);  //获得当前的实列对象
        View view = LayoutInflater.from(getContext()).inflate(rouse_id,parent,false);
        //为view实例对象加载该布局(重写构造函数时获得的id的布局),false指的是不会为该布局添加父布局
        Image = view.findViewById(R.id.list_image);
        Name =  view.findViewById(R.id.list_name);
        Image.setImageResource(test_list.getImageId());
        Name.setText(test_list.getName());
        //将获得的内容写入到视图中
        return view;
        //返回布局
    }
}

最后,修改主函数的代码。

public class MainActivity extends AppCompatActivity{
    private List<Test_list> text_list = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        Text_Adapter dapter = new Text_Adapter (MainActivity.this,R.layout.list_view,text_list);
        ListView listView = findViewById(R.id.list_view);
        listView.setAdapter(adapter);

    }
    public void init(){
        for(int i = 0; i < 5; i++){
            Test_list apple = new Test_list("123",R.drawable.apple);
            text_list .add(apple);
            Test_list apple1 = new Test_list("456", R.mipmap.ic_launcher);
            text_list .add(apple1);
            Test_list apple2 = new Test_list("789",R.drawable.ic_launcher_background);
            text_list .add(apple2);
        }
    }
}

以上是对ListView的简单基础应用,随着大家的深入了解还会发现许多关于ListView的高深用法,本萌新就不一一在这里说了。

PS:本博客内容基本上是自学android时用于方便自己回顾的,如果有大神,发现问题,请直接提点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值