我正在寻找模仿官方 Android 应用程序的星期风格。你知道这个应用程序中使用了哪种视图吗?他们是习俗吗?雷特
查看此屏幕截图以了解我在说什么:
此屏幕截图是闹钟的闹钟部分。我想要使用的是红色部分,它以一种很好的方式将星期显示为带有名称的小按钮和一个蓝色/灰色小条,具体取决于按钮的状态。
我正在寻找模仿官方 Android 应用程序的星期风格。你知道这个应用程序中使用了哪种视图吗?他们是习俗吗?雷特
查看此屏幕截图以了解我在说什么:
此屏幕截图是闹钟的闹钟部分。我想要使用的是红色部分,它以一种很好的方式将星期显示为带有名称的小按钮和一个蓝色/灰色小条,具体取决于按钮的状态。
好的,回答我自己,我们可以在这里找到应用程序的源代码: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
我希望它会帮助别人!
看起来像是 7 个Button
具有不同背景可绘制对象的向上和向下状态。