Tag: 安卓

getExternalFilesDir返回不一致的目录

我有一个操作,允许用户下载图像,并将其保存到我的应用程序的数据目录。 我创建临时文件,如下所示: @Throws(IOException::class) fun Context.createPrivateMediaFile(prefix: String, extension: String): File { val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(Date()) val imageFileName = "${prefix}_${timeStamp}_" val storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES) return File.createTempFile(imageFileName, extension, storageDir) } 我就这样使用它: try { photoFile = createPrivateMediaFile(".png") } catch (e: IOException) { errorRef = e } finally { if (photoFile == null) { callback(null) } else { tempFilePath […]

Anko忽略了在样式中定义的layout_margin

我创建了一个自定义样式: <style name="Static"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginEnd">5dp</item> </style> 然后我用一个静态函数扩展了anko: inline fun ViewManager.static(theme: Int = R.style.Static, init: TextView.() -> Unit) = ankoView(::TextView, theme, init) 当我在我的布局中使用这个: static { text = resources.getString(R.string.name) } marginEnd值被忽略。 如果我在anko中手动添加边距: static { text = resources.getString(R.string.name) }.lparams { marginEnd = dip(5) } 保证金很好。 你们知道anko正在忽略我的保证金价值或其他方式为扩展视图anko函数定义一个预定义的保证金吗?

anko值用rxAndroid初始化

我想editText'B'从'A'获取文本时,'A'文本更改与安科 所以我使用Rxandroid获得了两个编辑文本值 val A = editText { textChangedListener { addTextinB(this@editText,B) } } val B = editText { hint = "should be changed " } fun addTextinB(v: EditText, v2:EditText) { RxTextView.afterTextChangeEvents(v) .debounce(50, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe { tvChangeEvent -> v2.setText(tvChangeEvent.view().text) } 但是当我运行时,我看到“属性B应该得到之前被初始化”我认为B应该在调用addTextinB之前初始化,所以我改变了。 var A by Delegates.notNull<EditText>() var B by Delegates.notNull<EditText>() override fun onCreateView(){ //anko Code here … […]

GoogleApiClient:之后无法手动连接并执行signOut

我想手动处理GoogleApiClient上的connect()和disconnect()操作。 我试图: 建立一个新的GoogleApiClient (没有enableAutoManage ) 调用connect() 当onConnected()被调用时执行signOut 在signOut结束之后调用disconnect() 这是一个例子: fun signOut(googleApiClient: GoogleApiClient, resultCallback: (Status) -> Unit) { Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(resultCallback) } fun test() { val googleApiClient = GoogleApiClient.Builder(activity) .addApi(Auth.GOOGLE_SIGN_IN_API, buildGoogleSignInOptions(googleAuthId)) .build() googleApiClient.registerConnectionCallbacks(object : ConnectionCallbacks { override fun onConnected(connectionHint: Bundle?) { signOut { status -> //TODO something with status googleApiClient.disconnect() } } override fun onConnectionSuspended(cause: Int) { //nop […]

如何查询Firebase Firestore引用数据类型?

我正在使用Firestore 引用数据类型来存储对用户的引用,如下面的屏幕截图所示 用户参考 用户集合 当我试图查询这些数据时,我得到了一个ClassCastException (我试图将其转换为一个String )。 码 //.. this function reads data from DocumentSnapshot //.. and converts to an Organization private fun DocumentSnapshot.toOrganization(): Organization { //.. some code (this.data["members"] as ArrayList<HashMap<String, Any>>).map { toOrgMember(it) }) //.. more code } fun toOrgMember(map: Map<String, Any>): OrgMember { //map["user"] as String throws ClassCastException. Refer first screenshot return […]

Anko相当于xml中的样式属性

我需要创建无边界按钮。 在XML中最简单的方法来设置Widget.AppCompat.Button.Borderless 。 我试图用Anko做这个 button(theme = R.style.Widget_AppCompat_Button_Borderless_Colored, text = "Send") { horizontalGravity = Gravity.END lparams(wrapContent, wrapContent) } 但是没有效果。 我究竟做错了什么?

Anko日志与详细和调试不起作用

我正在尝试使用Anko Commons – Logging 但由于某种原因,详细和调试不显示在logcat上 但是,当我使用Log.d它按预期工作。 当我试着这个代码 verbose("————-verbose————–") debug("————-debug————–") info("————-info————–") warn("————-warn————–") error("————-error————–") wtf("————-wtf————–") 日志logcat如下 我正在使用安科0.10.0安卓工作室3.0加那利-5 当我试图寻找一个解决方案,我发现这一个 所有的Log。*都会记录到logcat,而不管当前的日志级别是什么。 但是,当日志级别可记录时,AnkoLogger。*将仅记录到logcat。 但是我不知道如何改变日志级别,如果连我的问题都是一样的。

Anko对话框按钮标题

与安科我可以写这样的东西显示对话框: alert("Dialog title") { yesButton {} noButton {} }.show() 我如何设置按钮的标题? noButton {title = "title"} 不起作用。

暂停和恢复洛蒂动画

我正在实施洛蒂动画,整个动画效果很好! 但是,我想添加一些代码,将暂停30帧后,我可以在一段时间后恢复动画。 这是迄今为止的代码 animationView.playAnimation(0, 30) animationView.addAnimatorListener(object : Animator.AnimatorListener { override fun onAnimationEnd(animation: Animator) { if (isLoading == false) { //Everything has loaded. Continue Animation //This line has no effect. The animation does not continue animationView.playAnimation(30, 60) //Resuming the animation just makes the animation disappear //animation.resume() } } 任何意见将不胜感激!

随播广告对象 – Android是否希望将其注册为活动(?)

我有一个活动 class DummyActivity : Activity() { companion object { @JvmStatic fun onNewIntent(context: Context): Intent { val intent = Intent(context, DummyActivity.javaClass) return intent } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } } 在清单中声明如下: <activity android:name=".DummyActivity"/> </application> 当我尝试启动它时,我得到: 引起:android.content.ActivityNotFoundException:无法找到显式活动类> {com.example.andrzejzuzak.visiondummyapp / com.example.andrzejzuzak.visiondummyapp.DummyActivity $ Companion}; 你有没有在你的AndroidManifest.xml中声明这个活动? 在android.support.android.app.Activity.startActivityForResult(Activity.java:3930)上的android.app.Instrumentation.execStartActivity(Instrumentation.java:1512)上的android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1794)。在android.app.Activity.startActivityForResult(Activity.java:3890)上的android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)上的v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)在android.app.Activity.startActivity(Activity.java:4181)上的android.app.Activity.startActivity(Activity.java:4213)上的.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859) example.andrzejzuzak.visiondummyapp.MainActivity.onActivityResult(MainActivity.kt:85)at android.app.Activity.dispatchActivityResult(Activity.java:6456)at android.app.ActivityThread.deliverResults(ActivityThread.java:3695)at android.app .ActivityThread.handleSendResult(ActivityThread.java:3742 )在android.app.ActivityThread.-wrap16(ActivityThread.java)在android.app.ActivityThread $ h.handleMessage(ActivityThread.java:1393)在android.os.Handler.dispatchMessage(Handler.java:102)在android。 os.Looper.loop(Looper.java:148)at […]