(Translated by https://www.hiragana.jp/)
GitHub - czy1121/utility: 各种工具函数:context,toast,dimen,file,format,random...
Skip to content

かく种工函数かんすう:context,toast,dimen,file,format,random...

License

Notifications You must be signed in to change notification settings

czy1121/utility

Repository files navigation

utility

かく种工函数かんすう:context,toast,dimen,file,format,random...

context

// 获取とうぜん进程名称めいしょう
fun Context.resolveCurrentProcessName(): String?

// いやざいしゅ进程
fun Context.isInMainProcess(): Boolean

// とうぜん应用いや调试
fun Context.isDebuggable(): Boolean

// 读取/设置 剪切ばん内容ないよう
var Context.clipboardPrimaryText: String

// 获取应用てき版本はんぽん名称めいしょう
fun Context.getVersionName(): String 

// 获取应用てき版本はんぽんごう
fun Context.getVersionCode(): Long 

けい统分とおる(share)

// 弹出选择ふんとおるぶんほんいたよう户选择的应用
fun Context.shareText(text: String, title: String = "ぶんとおる")
// 弹出选择ふんとおる图片いたよう户选择的应用
fun Context.shareImage(image: File, title: String = "ぶんとおる") 

// ぶんとおるぶんほんいた指定してい应用
fun Context.sendText(toPackageName: String, message: String)
// ぶんとおる图片いた指定してい应用
fun Context.sendImage(toPackageName: String, image: File) 

尺寸しゃくすん(dimen)

dp/sppx 工具こうぐ函数かんすう

inline val Int.dp: Int get() = Resources.getSystem().dp(this)
inline val Int.sp: Int get() = Resources.getSystem().sp(this)
inline val Float.dp: Float get() = Resources.getSystem().dp(this)
inline val Float.sp: Float get() = Resources.getSystem().sp(this)

inline fun Context.dp(value: Int): Int = resources.dp(value)
inline fun Context.sp(value: Int): Int = resources.sp(value)
inline fun Context.dp(value: Float): Float = resources.dp(value)
inline fun Context.sp(value: Float): Float = resources.sp(value)

inline fun Fragment.dp(value: Int): Int = resources.dp(value)
inline fun Fragment.sp(value: Int): Int = resources.sp(value)
inline fun Fragment.dp(value: Float): Float = resources.dp(value)
inline fun Fragment.sp(value: Float): Float = resources.sp(value)


inline fun View.dp(value: Int): Int = resources.dp(value)
inline fun View.sp(value: Int): Int = resources.sp(value)
inline fun View.dp(value: Float): Float = resources.dp(value)
inline fun View.sp(value: Float): Float = resources.sp(value)

fun Resources.dp(value: Int): Int = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, value.toFloat(), displayMetrics).toInt()
fun Resources.sp(value: Int): Int = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value.toFloat(), displayMetrics).toInt()
fun Resources.dp(value: Float): Float = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, value, displayMetrics)
fun Resources.sp(value: Float): Float = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value, displayMetrics)

使用しよう

dp(10) 
sp(10) 
dp(10f) 
sp(10f) 

10.dp 
10.sp 
10f.dp 
10f.sp 

格式かくしき(format)

格式かくしき节数

/** 
*
* compact = true 
* 123GB, 12.3GB, 1.23GB
* 123MB, 12.3MB, 1.23MB
* 123KB, 12.3KB, 1.23KB
* 123B, 12B, 1B 
*
* compact = false 总是保留ほりゅう最多さいた2小数しょうすう 
* #.##GB
* #.##MB
* #.##KB
* #B 
*/
fun Long.formatBytes(compact:Boolean = false): String

格式かくしき时间

fun Date.format(pattern: String, timezone: TimeZone)

ざい Date Long うえ扩展りょう以下いか方法ほうほう

  • formatDateTimeMs = format("yyyy-MM-dd HH:mm:ss.SSS", timezone)
  • formatDateTime = format("yyyy-MM-dd HH:mm:ss", timezone)
  • formatDate = format("yyyy-MM-dd", timezone)
  • formatShortDate = format("MM-dd", timezone)
  • formatTime = format("HH:mm:ss", timezone)
  • formatShortTime = format("HH:mm", timezone)
/** 
* 半分はんぶん钟内,显示 刚刚
* いちふん钟内,显示 xxびょうまえ
* いちしょう时内,显示 xxぶん钟前
* 一天いってんない,显示 xxしょう时前
* いちがつない,显示 xxてんまえ
* 其余,显示 2019-05-05 11:11 
*/
fun Long.formatTimeAgo(context: Context, years: Boolean = true): String


/** 
* うえうま 9:11
* しもうま 4:22
* さくてん じょううま 9:11
* さくてん うま 4:22
* しゅうさん じょううま 9:11
* 周三しゅうぞう うま 4:22
* 5月21にち じょううま 9:11
* 5月21にち うま 4:22
* 2018ねん5がつ21にち じょううま 9:11
* 2018ねん5がつ21にち うま 4:22 
*/
fun Long.formatTimeChat(): String


/** 
* [dてん][hしょう时][mぶん钟][sびょう]
*
* 30びょう
* 23ふん钟48びょう
* 2しょう时10びょう
* 1しょう时40ふん钟25びょう
* 1てん5びょう
* 1てん10ふん钟5びょう
* 1てん20しょう
* 1てん20しょう时10ふん钟5びょう 
*/
fun Long.formatTimeSeconds(): String

Gradle

repositories {
    maven { url "https://gitee.com/ezy/repo/raw/cosmo/"}
}
dependencies {
    implementation "me.reezy.cosmo:utility:0.9.0"
}

LICENSE

The Component is open-sourced software licensed under the Apache license.

About

かく种工函数かんすう:context,toast,dimen,file,format,random...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages