Android官方闹钟周风格

时间:2013-06-01 00:25:32

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

我希望模仿官方Android应用程序的周风格。您知道在这个应用程序中使用哪种视图?他们习惯吗?保留

请参阅此截图,了解我在说什么:

See this screenshot to know what I'm talking about

此屏幕截图是闹钟的闹钟部分。我想要使​​用的是红色部分,它以一种很好的方式显示周长,具有名称的小按钮和根据按钮状态的小蓝/灰条。

2 个答案:

答案 0 :(得分: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

我希望它会帮助别人!

答案 1 :(得分:-1)

似乎有7个Button个对象,具有不同的背景状态,适用于上下状态。