我的布局中有一个 ImageView,其内容描述=“关闭”。当 Talkback 打开时,它会显示“关闭按钮,不在列表中”。为什么 Talkback 还显示“不在列表中”?我该如何避免这种情况?PS布局中还有一个RecyclerView,也许它会产生某种影响。
我正在使用 androidx.appcompat.widget 包中的 PopupMenu(见图片)。只是好奇是否有任何简单的方法可以为弹出窗口设置标题。或者更改第一个菜单项的 alpha 并禁用它的涟漪效果,使其不可点击并且看起来像一个标题。有任何想法吗?
我在设计支持库中的BottomNavigationView遇到问题。我在activity_main.xml中使用它:
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
app:itemIconSize="16dp"
app:labelVisibilityMode="labeled"
app:itemTextColor="@color/white"
app:itemIconTint="@color/white"
app:itemBackground="@color/medium_purple"
app:menu="@menu/main"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)
膨胀该xml时,应用程序崩溃。异常的完整堆栈跟踪如下:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.frolo.musp.dev/com.alexfrolov.mp.main.MainActivity}: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.BottomNavigationView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2814)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1613)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:822)
Caused by: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.BottomNavigationView
Caused by: android.view.InflateException: Binary XML file line …Run Code Online (Sandbox Code Playgroud) android android-support-library android-support-design bottomnavigationview
有ClassA和ClassB,还有如下所示的函数:
fun <T> doSomething(arg: T) where T: ClassA, T: ClassB { }
Run Code Online (Sandbox Code Playgroud)
当我调用此函数作为参数传递类ClassC的对象时,它可以完美编译并按预期工作:
class ClassC: ClassA(), ClassB
Run Code Online (Sandbox Code Playgroud)
但是当我有一个类型的对象Any并执行以下操作时:
if (arg is ClassA && arg is ClassB) {
doSomething(arg)
}
Run Code Online (Sandbox Code Playgroud)
编译器不会编译它并说
None of the following functions can be called with the arguments supplied
Run Code Online (Sandbox Code Playgroud)
我希望智能广播能够完成工作,但事实并非如此。请告诉我怎么了。提前致谢。