5

我正在寻找模仿官方 Android 应用程序的星期风格。你知道这个应用程序中使用了哪种视图吗?他们是习俗吗?雷特

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

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

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

4

2 回答 2

11

好的,回答我自己,我们可以在这里找到应用程序的源代码: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

我希望它会帮助别人!

于 2013-06-01T00:52:40.310 回答
-1

看起来像是 7 个Button具有不同背景可绘制对象的向上和向下状态。

于 2013-06-01T00:33:26.087 回答