我希望模仿官方Android应用程序的周风格。您知道在这个应用程序中使用哪种视图?他们习惯吗?保留
请参阅此截图,了解我在说什么:
此屏幕截图是闹钟的闹钟部分。我想要使用的是红色部分,它以一种很好的方式显示周长,具有名称的小按钮和根据按钮状态的小蓝/灰条。
答案 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
个对象,具有不同的背景状态,适用于上下状态。