前篇文章讲解了关于kotlin编写的一些回调方法和一些对话框,今天这篇文章也是讲解对话框的代码,因为这些都是这个项目的前期需要准备的,所以我就讲解一下。 做技术每天都是在不停的忙碌和学习当中,像kotlin也是一门不新不旧的语言,但是google大量宣传的作用下,也是有很多公司在使用了,所以作为安卓开发人员不得不学习它。 也是在学习当中才想到这个项目的,学以致用才是真正的学习,学程序员最好的方式就是不停的写代码,写项目,在写项目和写代码中成长。 今天要讲解的就是GIFDialog这个对话框用kotlin怎么写。 DialogFragment这个东东做安卓的已经不陌生了,只要写安卓项目都会用到的一个对话框类。classGIFDialog:DialogFragment(){companionobject{valTAGGIFDialog::javaClass。namelateinitvarfile:Filefunshow(fragmentManager:FragmentManager,file:File){this。filefileGIFDialog()。show(fragmentManager,TAG)}}SuppressLint(SetTextI18n)overridefunonCreateDialog(savedInstanceState:Bundle?):Dialog{valviewactivity!!。layoutInflater。inflate(R。layout。dialoggifpreview,null)valgifViewview。findViewByIdGifImageView(R。id。gifview)valvideoInfoview。findViewById(R。id。videoinfo)valgifGifDrawable(file。path)gifView。setImageDrawable(gif)gif。start()videoInfo。textDuration:{Utils。milliSecondsToTimer(gif。duration。toLong())}Frames:{gif。numberOfFrames}returnAlertDialog。Builder(activity)。setView(view)。setTitle(Preview)。setPositiveButton(Cancel){dialog,whichdismiss()}。create()}} 上面代码分析show方法大家看的懂吧,这个里面用到一个companion类内部的对象声明可以用companion关键字标记,这样它就与外部类关联在一起,我们就可以直接通过外部类访问到对象的内部元素。 其实就是java当中的静态方法类一个道理。?xmlversion1。0encodingutf8?LinearLayoutxmlns:androidhttp:schemas。android。comapkresandroidandroid:layoutwidthmatchparentandroid:layoutheightmatchparentandroid:orientationverticalpl。droidsonroids。gif。GifImageViewandroid:ididgifviewandroid:layoutwidthmatchparentandroid:layoutheight300dpandroid:layoutmargin10dpLinearLayout 布局文件也很简单,就是一个GIF图片暂时和一个文字展示。 好了,今天就介绍在这里了,欢迎关注,点赞,转发,后续我们继续开发