专业的编程技术博客社区

网站首页 > 博客文章 正文

Android:单选弹框、自定义View(android 单选按钮)

baijin 2024-09-10 10:58:47 博客文章 6 ℃ 0 评论

一、单选弹框

try {
    final String[] values = getResources().getStringArray(R.array.baud_rates);
    int pos = java.util.Arrays.asList(values).indexOf(String.valueOf(0));

    AlertDialog.Builder builder = new AlertDialog.Builder(activity);
    builder.setTitle("Baud rate");
    builder.setSingleChoiceItems(values, pos, (dialog, which) -> {
       String baudRate = Integer.parseInt(values[which]);
        dialog.dismiss();
    });
    builder.create().show();
} catch (Exception e) {

}


二、kotlin自定view

1、代码创建view

package com.zysj.zysjApi;


import com.zysj.zysjApi.databinding.SenderViewBoxBinding
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout


class SenderView : ConstraintLayout {

    private var binding =
        SenderViewBoxBinding.inflate(LayoutInflater.from(this.context), this)



    constructor(context: Context) : super(context)
    constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
    constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context,
        attrs,
        defStyleAttr)

    companion object {
        private const val TAG = "DatePickersView"
    }

    constructor(
        context: Context,
        attrs: AttributeSet?,
        defStyleAttr: Int,
        defStyleRes: Int,
    ) : super(context, attrs, defStyleAttr, defStyleRes)



    init {

        initViewPager()

        initListener()
    }

    /**
     * 初始化日历
     *
     * @param startTime 选择的开始日期
     * @param endTime:选择的结束日期, 如果只是单选一个日期,endTime=0
     * @param showStartPrompt 是否显示开始提示,默认显示(单日选择生效)
     * @return
     */
    public fun startTimeAndEndTime(startTime:Long,endTime: Long,showStartPrompt:Boolean,listener: ClickListener){


    }


    private fun initViewPager() {

    }


    private fun initListener() {
//        binding.ivPreMonth.setOnClickListener {
//
//        }
//        binding.ivNextMonth.setOnClickListener {
//
//        }
    }



    interface ClickListener {
        fun onItemClick(startTime: Long,endTime: Long)
    }
}


2、创建xml

<?xml version="1.0" encoding="utf-8"?>
<merge 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="wrap_content"
    android:layout_height="wrap_content"
    >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

       

    </LinearLayout>

</merge>

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表