java - 用于警报对话框的 XML?

标签 java android

我对标准 AlertDialog 的外观非常满意。有一个“是按钮”和一个“否按钮”。

但是我希望我的 AlertDialog 也有一个带有监听器的开关。据我了解,我需要创建自己的自定义 AlertDialog 来实现此目的。

我的问题是我可以找到标准 AlertDialog 及其按钮的 XML 文件吗?

编辑:我知道如何创建自定义警报对话框。我正在寻找标准警报对话框的 XML。这样我就可以以此为模板构建自定义警报对话框。

picture

最佳答案

以下是从 AndroidX AppCompat 库 的标准 jar 文件中检索到的标准 AlertDialog 的 xml:

abc_alert_dialog_material.xml

<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2015 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<androidx.appcompat.widget.AlertDialogLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parentPanel"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="start|left|top"
    android:orientation="vertical">

    <include layout="@layout/abc_alert_dialog_title_material"/>

    <FrameLayout
        android:id="@+id/contentPanel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="48dp">

        <View android:id="@+id/scrollIndicatorUp"
              android:layout_width="match_parent"
              android:layout_height="1dp"
              android:layout_gravity="top"
              android:background="?attr/colorControlHighlight"
              android:visibility="gone"/>

        <androidx.core.widget.NestedScrollView
            android:id="@+id/scrollView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clipToPadding="false">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <android.widget.Space
                    android:id="@+id/textSpacerNoTitle"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/abc_dialog_padding_top_material"
                    android:visibility="gone"/>

                <TextView
                    android:id="@android:id/message"
                    style="@style/TextAppearance.AppCompat.Subhead"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:paddingLeft="?attr/dialogPreferredPadding"
                    android:paddingRight="?attr/dialogPreferredPadding"/>

                <android.widget.Space
                    android:id="@+id/textSpacerNoButtons"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/abc_dialog_padding_top_material"
                    android:visibility="gone"/>
            </LinearLayout>
        </androidx.core.widget.NestedScrollView>

        <View android:id="@+id/scrollIndicatorDown"
              android:layout_width="match_parent"
              android:layout_height="1dp"
              android:layout_gravity="bottom"
              android:background="?attr/colorControlHighlight"
              android:visibility="gone"/>

    </FrameLayout>

    <FrameLayout
        android:id="@+id/customPanel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="48dp">

        <FrameLayout
            android:id="@+id/custom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </FrameLayout>

    <include layout="@layout/abc_alert_dialog_button_bar_material"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"/>

</androidx.appcompat.widget.AlertDialogLayout>

关于java - 用于警报对话框的 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57469136/

相关文章:

java - 现有类的 Netbeans 插件 ClassNotFoundException

java - 什么是最具值(value)的 Java 对象数据库?

java - 如何获取当前时间和日期并设置在我的应用程序中执行操作的特定时间

android - 如何同时为 ListView 添加边框和不同的行颜色

android - 如何检查我是否已迁移到 AndroidX?

android - 地理位置 : intent with a placeid

java - JSF 2.0 : how can I dynamically generate Input component

javascript - 可以从 JS 客户端获取 POST 请求的 Java 服务器

android - Cordova 相机- ionic

android - 自定义可扩展 RecyclerView 在 notifyItemRangeRemoved 和 notifyItemRangeInserted 上崩溃