lulululbj / Androidutilcodektx
Licence: apache-2.0
Kotlin Android Util Code
Stars: ✭ 309
Programming Languages
kotlin
9241 projects
Projects that are alternatives of or similar to Androidutilcodektx
core
🔥 Antares Core Implemenation. Most important project layer, this is the heart for your app. ACL, notifiter, console, geoip, areas, utils and many more...
Stars: ✭ 24 (-92.23%)
Mutual labels: utils
Smart-Inspector
Fluent re-take on Unity Inspector UX. Packed with QoL improvements.
Stars: ✭ 680 (+120.06%)
Mutual labels: utils
Assembly-Lib
A 16-bits x86 DOS Assembly library that provides many useful functions for developing programs. It has both VGA grapics functions as well as general purpose utilities. The main purpose of this library was to be able to implement simple DOS games (in Assembly) using VGA (320x200, 256 colors) display.
Stars: ✭ 36 (-88.35%)
Mutual labels: utils
django-etc
Tiny stuff for Django that won't fit into separate apps.
Stars: ✭ 26 (-91.59%)
Mutual labels: utils
dotty dict
Dictionary wrapper for quick access to deeply nested keys.
Stars: ✭ 67 (-78.32%)
Mutual labels: utils
at tools
Source repo for at_commons and at_utils on pub.dev
Stars: ✭ 22 (-92.88%)
Mutual labels: utils
tdesign-common
TDesign style/utils shared by multiple frameworks repo.
Stars: ✭ 70 (-77.35%)
Mutual labels: utils
Log
Breaking android log word limits and automatically formatting json.
Stars: ✭ 14 (-95.47%)
Mutual labels: utils
Autoremove Torrents
Automatically remove torrents according to your strategies.
Stars: ✭ 298 (-3.56%)
Mutual labels: utils
portuguese-utils
A set of useful utils for developing portuguese apps
Stars: ✭ 20 (-93.53%)
Mutual labels: utils
urley
📦 An easy cross-platform utility library to work with URLs in Javascript.
Stars: ✭ 14 (-95.47%)
Mutual labels: utils
AndroidUtilCodeKTX ! 专注提升 Android 开发效率 !
该类库利用 Kotlin 语言特性合理封装了 Android 开发中的常用操作,同时也收集了开发过程中的常用工具类。 旨在做同样的事情,写最少的代码,提升开发效率。
Use
implementation 'luyao.util.ktx:AndroidUtilKTX:0.0.5'
最新版本将第一时间用在我的另外两个开源项目,wanandroid 和 Box,欢迎关注 !
APIS (keep updating...)
权限相关 [Demo]
FragmentActivity.request(vararg permissions: String, callbacks: PermissionsCallbackDSL.() -> Unit)
ActivityExt [Demo]
Activity.startKtxActivity(
flags: Int? = null,
extra: Bundle? = null,
value: Pair<String, Any>? = null,
values: Collection<Pair<String, Any>?>? = null
)
fun <reified T : Activity> Activity.startKtxActivityForResult(
requestCode: Int,
flags: Int? = null,
extra: Bundle? = null,
value: Pair<String, Any>? = null,
values: Collection<Pair<String, Any>?>? = null
)
Fragment.startKtxActivity()
Fragment.startKtxActivityForResult()
Context.startKtxActivity
Activity.hideKeyboard()
Activity.showKeyboard(et: EditText)
Activity.hideKeyboard(view: View)
AppExt
Context.versionName: String
Context.versionCode: Long
Context.getAppInfo(apkPath: String): AppInfo
Context.getAppInfos(apkFolderPath: String): List<AppInfo>
Context.getAppSignature(packageName: String = this.packageName): ByteArray?
Context.isPackageInstalled(pkgName: String)
AesExt [Demo]
ByteArray.aesEncrypt(key: ByteArray, iv: ByteArray, cipherAlgotirhm: String = AES_CFB_NOPADDING): ByteArray
ByteArray.aesDecrypt(key: ByteArray, iv: ByteArray, cipherAlgotirhm: String = AES_CFB_NOPADDING): ByteArray
File.aesEncrypt(key: ByteArray, iv: ByteArray, destFilePath: String): File?, cipherAlgotirhm: String = AES_CFB_NOPADDING)
File.aesDecrypt(key: ByteArray, iv: ByteArray, destFilePath: String): File?, cipherAlgotirhm: String = AES_CFB_NOPADDING)
initAESKey(size: Int): ByteArray
initCipher(mode: Int, key: ByteArray, iv: ByteArray, cipherAlgotirhm: String): Cipher
CommonExt
fromM()
beforeM()
fromN()
beforeN()
fromO()
beforeO()
fromP()
beforeP()
fromSpecificVersion(version: Int)
beforeSpecificVersion(version: Int)
Context.dp2px(dp: Int)
Context.px2dp(px: Int)
View.dp2px(dp: Int)
View.px2dp(px: Int)
Context.screenWidth
Context.screenHeight
Context.copyToClipboard(label: String, text: String)
Context.checkAccessbilityServiceEnabled(serviceName: String)
Any?.notNull(f: () -> T, t: () -> T): T
Context.isRTLLayout
Constants
fun isOnMainThread()
DrawableExt
Drawable.convertToBitmap()
FileExt
File.canListFiles
File.totalSize
File.formatSize
File.mimeType
File.listFiles(isRecursive: Boolean = false, filter: ((file: File) -> Boolean)? = null)
File.writeText(append: Boolean = false, text: String, charset: Charset = Charsets.UTF_8)
File.writeBytes(append: Boolean = false, bytes: ByteArray)
File.moveTo(destFile: File, overwrite: Boolean = true, reserve: Boolean = true)
File.moveToWithProgress(
destFolder: File,
overwrite: Boolean = true,
reserve: Boolean = true,
func: ((file: File, i: Int) -> Unit)? = null)
File.rename(newName: String)
File.rename(newFile: File)
HashExt [Demo]
ByteArray.hash(algorithm: Hash): String
String.hash(algorithm: Hash, charset: Charset = Charset.forName("utf-8")): String
ByteArray.md5Bytes(): ByteArray
ByteArray.md5(): String
String.md5(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha1Bytes(): ByteArray
ByteArray.sha1(): String
String.sha1(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha224Bytes(): ByteArray
ByteArray.sha224(): String
String.sha224(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha256Bytes(): ByteArray
ByteArray.sha256(): String
String.sha256(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha384Bytes(): ByteArray
ByteArray.sha384(): String
String.sha384(charset: Charset = Charset.forName("utf-8")): String
ByteArray.sha512Bytes(): ByteArray
ByteArray.sha512(): String
String.sha512(charset: Charset = Charset.forName("utf-8")): String
File.hash(algorithm: Hash = Hash.SHA1): String
IntentExt [Demo]
Context.getAppInfoIntent(packageName: String = this.packageName): Intent
Context.goToAppInfoPage(packageName: String = this.packageName)
Context.getDateAndTimeIntent(): Intent
Context.goToDateAndTimePage()
Context.getLanguageIntent()
Context.goToLanguagePage()
Context.getInstallIntent(apkFile: File): Intent?
Context.goToAccessibilitySetting()
Context.installApk(apkFile: File)
Context.openBrowser(url: String)
Context.openInAppStore(packageName: String = this.packageName)
Context.openApp(packageName: String)
Context.uninstallApp(packageName: String)
Context.sendEmail(email: String, subject: String?, text: String?)
KtxManager [Demo]
pushActivity(activity: Activity)
popActivity(activity: Activity)
finishCurrentActivity()
finishActivity(activity: Activity)
finishActivity(clazz: Class<*>)
finishAllActivity()
KtxSpan [Demo]
text(
text: CharSequence,
isNewLine: Boolean = true,
textSize: Int = -1,
fontFamily: String = "",
customTypeFace: Typeface? = null,
isDp: Boolean = true,
fontProportion: Float = -1f,
xFontProportion: Float = -1f,
lineHeight: Int = -1,
foregroundColor: Int = -1,
backgroundColor: Int = -1,
alignment: Layout.Alignment? = null,
isBold: Boolean = false,
isStrikethrough: Boolean = false,
isUnderline: Boolean = false,
isItalic: Boolean = false,
isBoldAndItalic: Boolean = false,
isSuperscript: Boolean = false,
isSubscript: Boolean = false,
first: Int = 0,
rest: Int = 0,
quoteColor: Int = -1,
quoteStripeWidth: Int = STANDARD_STRIPE_WIDTH_PX,
quoteGapWidth: Int = STANDARD_GAP_WIDTH_PX,
bulletColor: Int = -1,
bulletRadius: Int = STANDARD_BULLET_RADIUS,
bulletGapWidth: Int = STANDARD_GAP_WIDTH_PX,
clickSpan: ClickableSpan? = null,
url: String? = null,
blurRadius: Float = -1f,
blurStyle: BlurMaskFilter.Blur = BlurMaskFilter.Blur.NORMAL
): KtxSpan
image(
resId: Int,
verticalAlignment: Int = KtxImageSpan.ALIGN_MIDDLE,
marginLeft: Int = 0,
marginRight: Int = 0,
offsetY: Int = 0,
fontWidthMultiple: Float = -1f
)
blockLine(@Px height: Int, addBlockAlways: Boolean = false)
Listener [Demo]
SearchView.queryTextListener(listener: KtxQueryTextLister.() -> Unit)
SeekBar.onProgressBarChanged(callback: (Int, Boolean) -> Unit)
TextView.textWatcher(watcher: KtxTextWatcher.() -> Unit)
ViewPager.onPageSelected(pageChangedAction: (newPosition: Int) -> Unit)
LogExt
String.logv(tag: String = TAG)
String.logd(tag: String = TAG)
String.logi(tag: String = TAG)
String.logw(tag: String = TAG)
String.loge(tag: String = TAG)
SharedPreferencesExt [Demo]
<T> Context.putSpValue(key: String, value: T, name: String = packageName)
<T> Activity.putSpValue(key: String, value: T, name: String = packageName)
<T> Context.getSpValue(key: String, default: T, name: String = packageName ): T
<T> Activity.getSpValue(key: String, default: T, name: String = packageName): T
StringExt
String.areDigitsOnly()
SystemServiceExt
Context.windowManager
Context.clipboardManager
Context.layoutInflater
Context.activityManager
Context.powerManager
Context.alarmManager
Context.notificationManager
Context.keyguardManager
Context.locationManager
Context.searchManager
Context.storageManager
Context.vibrator
Context.connectivityManager
Context.wifiManager
Context.audioManager
Context.mediaRouter
Context.telephonyManager
Context.sensorManager
Context.subscriptionManager
Context.carrierConfigManager
Context.inputMethodManager
Context.uiModeManager
Context.downloadManager
Context.batteryManager
Context.jobScheduler
Context.accessibilityManager
ToastExt [Demo]
Context.toast(content: String, duration: Int = Toast.LENGTH_SHORT)
Context.toast(@StringRes id: Int, duration: Int = Toast.LENGTH_SHORT)
Context.longToast(content: String)
Context.longToast(@StringRes id: Int)
Any.toast(context: Context, content: String, duration: Int = Toast.LENGTH_SHORT)
Any.toast(context: Context, @StringRes id: Int, duration: Int=Toast.LENGTH_SHORT)
Any.longToast(context: Context, content: String)
Any.longToast(context: Context, @StringRes id: Int)
TransformExt
ByteArray.toHexString() : 字节数组转十六进制字符串
ViewExt
View.visible()
View.invisible()
View.gone()
View.reverseVisiblity(needGone: Boolean = true)
View.changeVisible(visible: Boolean, needGone: Boolean = true)
var View.isVisible: Boolean
var View.isInvisible: Boolean
var View.isGone: Boolean
View.setPadding(@Px size: Int)
View.postDelayed(delayInMillis: Long, crossinline action: () -> Unit): Runnable
View.toBitmap(config: Bitmap.Config = Bitmap.Config.ARGB_8888): Bitmap
RecyclerView.itemPadding(padding:Int)
RecyclerView.itemPadding(top: Int, bottom: Int, left: Int = 0, right: Int = 0)
TextView.notEmpty(f: TextView.() -> Unit, t: TextView.() -> Unit)
View.onGlobalLayout(crossinline callback: () -> Unit)
fun View.afterMeasured(crossinline callback: View.() -> Unit)
Others
- KtxHandler : 跟随组件生命周期自动处理的 Handler
- KtxAppLifeObserver : 应用前后台监听
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].