Android官方闹钟星期样式

标签 android android-layout user-interface android-view

我希望模仿官方 Android 应用程序的周样式。你知道这个应用程序中使用了哪种 View 吗?他们是习俗吗?返回

查看此屏幕截图以了解我在说什么:

See this screenshot to know what I'm talking about

此屏幕截图是闹钟的闹钟部分。我想要使​​用的是红色部分,它以一种很好的方式将 weekd 显示为带有名称的小按钮和一个小的蓝色/灰色条,具体取决于按钮的状态。

最佳答案

好吧,回答我自己,我们可以在这里找到应用程序的源代码:https://android.googlesource.com/platform/packages/apps/DeskClock/+/master/

这些按钮是以编程方式创建的(如此处所述:https://android.googlesource.com/platform/packages/apps/DeskClock/+/master/res/layout/alarm_time.xml),这样:

        holder.repeatDays = (LinearLayout) view.findViewById(R.id.repeat_days);

        // Build button for each day.
        for (int i = 0; i < 7; i++) {
            final ViewGroup viewgroup = (ViewGroup) mFactory.inflate(R.layout.day_button,
                    holder.repeatDays, false);
            final ToggleButton button = (ToggleButton) viewgroup.getChildAt(0);
            final int dayToShowIndex = DAY_ORDER[i];
            button.setText(mShortWeekDayStrings[dayToShowIndex]);
            button.setTextOn(mShortWeekDayStrings[dayToShowIndex]);
            button.setTextOff(mShortWeekDayStrings[dayToShowIndex]);
            button.setContentDescription(mLongWeekDayStrings[dayToShowIndex]);
            holder.repeatDays.addView(viewgroup);
            holder.dayButtons[i] = button;
            holder.dayButtonParents[i] = viewgroup;
        }

在 R.layout.day_button 中:

<ToggleButton
    android:layout_width="wrap_content"
    android:layout_height="48dp"
    android:layout_gravity="center"
    android:padding="0dp"
    style="@style/body"
    android:textColor="@color/clock_gray"
    android:background="@drawable/toggle_underline"
    android:clickable="false"
    android:singleLine="true"/>

所以,这些只是程式化的 ToggleButton

希望对大家有所帮助!

关于Android官方闹钟星期样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16867815/

相关文章:

java - Android - 在所有 Activity 中设置 ActionBar 颜色?

Android 布局和自动调整图像大小

java - 如何从 Android GridView onItemClick 添加新 Activity ?

c++ - 具有独立布局的嵌套 Qt 小部件

android - Flutter 在 ListView 中不显示有状态的子 Widget

java - 显示菜单但未调用 onCreateOptionsMenu()

android - 设计相关布局

android - 如何在 android 中创建像 evernote 帮助这样的自定义 UI

c++ - 在 QT QTextEdit 中粘贴表情符号

iPhone - 为应用程序创建主屏幕,显示用于在应用程序内启动其他应用程序的图标