Android:如何处理从左到右的滑动手势

我希望我的应用能够识别用户在电话屏幕上从右向左滑动的情况。 这个怎么做?

为什么在Android中加载jpg资源时图像的大小会发生变化?

我创建了一个新的Android项目,并在res/drawable文件夹中放置了一个map.jpg文件。 它的统计是这样的,由file命令报告: map.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 200×200, segment length 16, baseline, precision 8, 1000×846, frames 3 (尺寸1000×846。) 该项目使用min SDK版本21和目标SDK版本24。 我在我的类(这是一个View子类)像这样(Kotlin)打开文件: mBitmap = BitmapFactory.decodeResource(resources, R.drawable.map) Log.i(TAG, “Our map’s size is ” + mBitmap.width + “x” + mBitmap.height) 在仿真器(480×800 hdpi,API级别25)中运行时,会将位图大小报告为1500×1269,或者从文件大小中缩放1.5x。 在设备上运行(三星Galaxy A3,API级别24)报告的大小为2000×1692,或缩放2倍。 为什么会发生? 什么是加载的位图的大小取决于? (顺便说一句,通过resources.getDrawable()和Drawable.getIntrinsicWidth()读取资源的另一种方式报告相同的大小。)

覆盖Kotlin数据类的getter

鉴于以下Kotlin类: data class Test(val value: Int) 如何重写Int getter,使其返回0如果值为负? 如果这是不可能的,有什么技巧可以达到合适的效果?

如何旋转90度的位图

在android canvas.drawBitmap(visiblePage, 0, 0, paint);有一个语句canvas.drawBitmap(visiblePage, 0, 0, paint); 当我添加canvas.rotate(90) ,没有任何效果。 但是,如果我写 canvas.rotate(90) canvas.drawBitmap(visiblePage, 0, 0, paint); 我没有绘制位图。 那么我没做对吗?

计算会话长度android

如何计算Android中用户的会话长度,以便我可以在合适的时间推送广告? 有没有可以帮助我的图书馆。 我正在使用谷歌分析来获得平均会话长度,但我如何获得个人用户?

Kotlin中线程与协程的区别

Kotlin中是否有任何特定的语言实现与其他语言的协同程序有所不同? 这意味着协程就像轻量级的线程? 有什么不同? kotlin的协同程序是否并行/同时运行? 即使在多核系统中,在任何给定的时间只有一个协程运行(是不是?) 这里我开始了100000个协程,这个代码背后发生了什么? for(i in 0..100000){ async(CommonPool){ //run long running operations } }

格式化当前语言环境的日期,添加周日

我可以使用以下格式为给定的日期和时间格式化当前语言环境: DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(date) 这里我不指定格式字符串是很重要的。 这是系统决定如何格式化日期和时间,例如字段的顺序。 但是,“中等”日期格式不包括星期几。 我想包括通过传递DateFormat.MEDIUM or DateFormat.DAY_OF_WEEK_FIELD (它是Kotlin),但是引发一个exception说格式是无效的。 所以显然将这两个值结合起来是无效的。 我以某种方式理解( MEDIUM定义了特定的格式,系统不知道星期几在哪里)。 但是我希望能够说“使用特定于语言的(中等)格式,并在有意义的地方添加星期几”。 有没有办法做到这一点? (我正在写代码片段而不能访问真实的代码,所以请原谅任何错误。)

Kotlingenerics方法和inheritance

在我的代码中,我想在抽象类中创建一个方法,该方法返回一些Observable。 然后这个抽象类的实现将返回某些(指定)types的Observable。 不幸的是,Android Studio会在实现方法()中返回一个错误“types不匹配”: 预计:可观察 find:Observable 我的MockDrawerList.getList()返回Observable 请关注execute()和buildUseCaseObservable 抽象类 public abstract class UseCase(threadExecutor: ThreadExecutor, postExecutionThread: PostExecutionThread) { private val threadExecutor: ThreadExecutor private val postExecutionThread: PostExecutionThread private var subscription: Subscription = Subscriptions.empty() init { this.postExecutionThread = postExecutionThread this.threadExecutor = threadExecutor } protected abstract fun buildUseCaseObservable(): Observable public fun execute(useCaseSubsriber: Subscriber) { subscription = buildUseCaseObservable() .subscribeOn(Schedulers.from(threadExecutor)) .observeOn(postExecutionThread.getScheduler()) […]

BiMap /双向HashMap在Kotlin

有没有kotlin的双向哈希映射? 如果不是 – 在kotlin中expression这个最好的方法是什么? 包括番石榴从那里得到BiMap感觉就像在一个很小的目标上用一个很大的枪射击 – 没有我能想象的解决方案现在感觉是正确的 – 我想到的最好的事情是写一个自定义的类

做一个简短的if语句

在我的代码中,我有这个if语句: if (categoryName == “SomeName1” || categoryName == “SomeName2” || categoryName == “SomeName3” || categoryName == “SomeName4” || categoryName == “SomeName5” || categoryName == “SomeName6”) { // Do something } 我想知道如果我能缩短这个。 就像是: if (categoryName == “SomeName1” and “SomeName2” and “SomeName3” …) { // Do something } 在Kotlin有没有做这样的事情?