我想更改 Titanium 中的后退/主页按钮图标。我可以使用主题来做到这一点。
但是,我想在应用主题后在运行时更改图标。钛中的操作栏没有任何属性或方法来更改图标。文档。所以我正在使用超级循环(本机代码)来更改图标,但不幸的是我无法访问操作栏。
这是我的看法
<Alloy>
<Window class="container">
<ActionBar id="actionbar" displayHomeAsUp="true" homeButtonEnabled="true"></ActionBar>
<Label id="label" onClick="doClick">Hello, World</Label>
</Window>
</Alloy>
我的代码
import AppCompatActivity from 'android.support.v7.app.AppCompatActivity';
const activity = new AppCompatActivity(Ti.Android.currentActivity);
activity.getActionBar().setHomeAsUpIndicator(Titanium.Android.R.drawable.notificacion);
和错误
[ERROR] TiExceptionHandler: (main) [1,434] /alloy/controllers/index.js:69
[ERROR] TiExceptionHandler: activity.getActionBar().setHomeAsUpIndicator(Titanium.Android.R.drawable.notificacionmas);
[ERROR] TiExceptionHandler: ^
[ERROR] TiExceptionHandler: TypeError: activity.getActionBar(...).setHomeAsUpIndicator is not a function
[ERROR] TiExceptionHandler: at new Controller (/alloy/controllers/index.js:69:27)
[ERROR] TiExceptionHandler: at Object.exports.createController (/alloy.js:428:10)
[ERROR] TiExceptionHandler: at /app.js:22:7
[ERROR] TiExceptionHandler: at Module._runScript (ti:/module.js:608:9)
[ERROR] TiExceptionHandler: at Module.load (ti:/module.js:107:7)
[ERROR] TiExceptionHandler: at Module.loadJavascriptText (ti:/module.js:453:9)
[ERROR] TiExceptionHandler: at Module.loadAsFile (ti:/module.js:508:15)
[ERROR] TiExceptionHandler: at Module.loadAsFileOrDirectory (ti:/module.js:425:20)
[ERROR] TiExceptionHandler: at Module.require (ti:/module.js:255:17)
[ERROR] TiExceptionHandler: at Module.global.Module.require (/ti.main.js:11435:34)
[ERROR] TiExceptionHandler:
[ERROR] TiExceptionHandler: org.appcelerator.kroll.runtime.v8.V8Runtime.nativeRunModule(Native Method)
[ERROR] TiExceptionHandler: org.appcelerator.kroll.runtime.v8.V8Runtime.doRunModule(V8Runtime.java:162)
[ERROR] TiExceptionHandler: org.appcelerator.kroll.KrollRuntime.runModule(KrollRuntime.java:207)
[ERROR] TiExceptionHandler: org.appcelerator.titanium.TiLaunchActivity.loadScript(TiLaunchActivity.java:99)
[ERROR] TiExceptionHandler: org.appcelerator.titanium.TiRootActivity.loadScript(TiRootActivity.java:480)
[ERROR] TiExceptionHandler: org.appcelerator.titanium.TiLaunchActivity.onResume(TiLaunchActivity.java:183)
[ERROR] TiExceptionHandler: org.appcelerator.titanium.TiRootActivity.onResume(TiRootActivity.java:499)
[ERROR] TiExceptionHandler: android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1446)
[ERROR] TiExceptionHandler: android.app.Activity.performResume(Activity.java:7939)
[ERROR] TiExceptionHandler: android.app.ActivityThread.performResumeActivity(ActivityThread.java:4195)
[ERROR] V8Exception: Exception occurred at /alloy/controllers/index.js:69: Uncaught TypeError: activity.getActionBar(...).setHomeAsUpIndicator is not a function
笔记
我相信这个问题不是重复的,因为它与 Titanium 而不是原生 Android 有关。