diff --git a/assets/fonts/Flamante-Roma-Medium.ttf b/assets/fonts/Flamante-Roma-Medium.ttf new file mode 100755 index 00000000..aa52ae4c Binary files /dev/null and b/assets/fonts/Flamante-Roma-Medium.ttf differ diff --git a/assets/fonts/Flamante-Roma-MediumItalic.ttf b/assets/fonts/Flamante-Roma-MediumItalic.ttf new file mode 100755 index 00000000..c9240e72 Binary files /dev/null and b/assets/fonts/Flamante-Roma-MediumItalic.ttf differ diff --git a/assets/fonts/Lato-Bold.ttf b/assets/fonts/Lato-Bold.ttf new file mode 100755 index 00000000..74343694 Binary files /dev/null and b/assets/fonts/Lato-Bold.ttf differ diff --git a/lib/common/icon_names.dart b/lib/common/icon_names.dart index 7d75b841..4700359d 100644 --- a/lib/common/icon_names.dart +++ b/lib/common/icon_names.dart @@ -7,8 +7,13 @@ * tartget: FlatButton 的示例 */ import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; class IconNames { static List names = [Icons.ac_unit,Icons.access_alarm,Icons.access_alarms,Icons.access_time,Icons.accessibility,Icons.accessibility_new,Icons.accessible,Icons.accessible_forward,Icons.account_balance,Icons.account_balance_wallet,Icons.account_box,Icons.account_circle,Icons.adb,Icons.add,Icons.add_a_photo,Icons.add_alarm,Icons.add_alert,Icons.add_box,Icons.add_call,Icons.add_circle,Icons.add_circle_outline,Icons.add_comment,Icons.add_location,Icons.add_photo_alternate,Icons.add_shopping_cart,Icons.add_to_home_screen,Icons.add_to_photos,Icons.add_to_queue,Icons.adjust,Icons.airline_seat_flat,Icons.airline_seat_flat_angled,Icons.airline_seat_individual_suite,Icons.airline_seat_legroom_extra,Icons.airline_seat_legroom_normal,Icons.airline_seat_legroom_reduced,Icons.airline_seat_recline_extra,Icons.airline_seat_recline_normal,Icons.airplanemode_active,Icons.airplanemode_inactive,Icons.airplay,Icons.airport_shuttle,Icons.alarm,Icons.alarm_add,Icons.alarm_off,Icons.alarm_on,Icons.album,Icons.all_inclusive,Icons.all_out,Icons.alternate_email,Icons.android,Icons.announcement,Icons.apps,Icons.archive,Icons.arrow_back,Icons.arrow_back_ios,Icons.arrow_downward,Icons.arrow_drop_down,Icons.arrow_drop_down_circle,Icons.arrow_drop_up,Icons.arrow_forward,Icons.arrow_forward_ios,Icons.arrow_left,Icons.arrow_right,Icons.arrow_upward,Icons.art_track,Icons.aspect_ratio,Icons.assessment,Icons.assignment,Icons.assignment_ind,Icons.assignment_late,Icons.assignment_return,Icons.assignment_returned,Icons.assignment_turned_in,Icons.assistant,Icons.assistant_photo,Icons.atm,Icons.attach_file,Icons.attach_money,Icons.attachment,Icons.audiotrack,Icons.autorenew,Icons.av_timer,Icons.backspace,Icons.backup,Icons.battery_alert,Icons.battery_charging_full,Icons.battery_full,Icons.battery_std,Icons.battery_unknown,Icons.beach_access,Icons.beenhere,Icons.block,Icons.bluetooth,Icons.bluetooth_audio,Icons.bluetooth_connected,Icons.bluetooth_disabled,Icons.bluetooth_searching,Icons.blur_circular,Icons.blur_linear,Icons.blur_off,Icons.blur_on,Icons.book,Icons.bookmark,Icons.bookmark_border,Icons.border_all,Icons.border_bottom,Icons.border_clear,Icons.border_color,Icons.border_horizontal,Icons.border_inner,Icons.border_left,Icons.border_outer,Icons.border_right,Icons.border_style,Icons.border_top,Icons.border_vertical,Icons.branding_watermark,Icons.brightness_1,Icons.brightness_2,Icons.brightness_3,Icons.brightness_4,Icons.brightness_5,Icons.brightness_6,Icons.brightness_7,Icons.brightness_auto,Icons.brightness_high,Icons.brightness_low,Icons.brightness_medium,Icons.broken_image,Icons.brush,Icons.bubble_chart,Icons.bug_report,Icons.build,Icons.burst_mode,Icons.business,Icons.business_center,Icons.cached,Icons.cake,Icons.calendar_today,Icons.calendar_view_day,Icons.call,Icons.call_end,Icons.call_made,Icons.call_merge,Icons.call_missed,Icons.call_missed_outgoing,Icons.call_received,Icons.call_split,Icons.call_to_action,Icons.camera,Icons.camera_alt,Icons.camera_enhance,Icons.camera_front,Icons.camera_rear,Icons.camera_roll,Icons.cancel,Icons.card_giftcard,Icons.card_membership,Icons.card_travel,Icons.casino,Icons.cast,Icons.cast_connected,Icons.category,Icons.center_focus_strong,Icons.center_focus_weak,Icons.change_history,Icons.chat,Icons.chat_bubble,Icons.chat_bubble_outline,Icons.check,Icons.check_box,Icons.check_box_outline_blank,Icons.check_circle,Icons.check_circle_outline,Icons.chevron_left,Icons.chevron_right,Icons.child_care,Icons.child_friendly,Icons.chrome_reader_mode,Icons.class_,Icons.clear,Icons.clear_all,Icons.close,Icons.closed_caption,Icons.cloud,Icons.cloud_circle,Icons.cloud_done,Icons.cloud_download,Icons.cloud_off,Icons.cloud_queue,Icons.cloud_upload,Icons.code,Icons.collections,Icons.collections_bookmark,Icons.color_lens,Icons.colorize,Icons.comment,Icons.compare,Icons.compare_arrows,Icons.computer,Icons.confirmation_number,Icons.contact_mail,Icons.contact_phone,Icons.contacts,Icons.content_copy,Icons.content_cut,Icons.content_paste,Icons.control_point,Icons.control_point_duplicate,Icons.copyright,Icons.create,Icons.create_new_folder,Icons.credit_card,Icons.crop,Icons.crop_3_2,Icons.crop_5_4,Icons.crop_7_5,Icons.crop_16_9,Icons.crop_din,Icons.crop_free,Icons.crop_landscape,Icons.crop_original,Icons.crop_portrait,Icons.crop_rotate,Icons.crop_square,Icons.dashboard,Icons.data_usage,Icons.date_range,Icons.dehaze,Icons.delete,Icons.delete_forever,Icons.delete_outline,Icons.delete_sweep,Icons.departure_board,Icons.description,Icons.desktop_mac,Icons.desktop_windows,Icons.details,Icons.developer_board,Icons.developer_mode,Icons.device_hub,Icons.device_unknown,Icons.devices,Icons.devices_other,Icons.dialer_sip,Icons.dialpad,Icons.directions,Icons.directions_bike,Icons.directions_boat,Icons.directions_bus,Icons.directions_car,Icons.directions_railway,Icons.directions_run,Icons.directions_subway,Icons.directions_transit,Icons.directions_walk,Icons.disc_full,Icons.dns,Icons.do_not_disturb,Icons.do_not_disturb_alt,Icons.do_not_disturb_off,Icons.do_not_disturb_on,Icons.dock,Icons.domain,Icons.done,Icons.done_all,Icons.done_outline,Icons.donut_large,Icons.donut_small,Icons.drafts,Icons.drag_handle,Icons.drive_eta,Icons.dvr,Icons.edit,Icons.edit_attributes,Icons.edit_location,Icons.eject,Icons.email,Icons.enhanced_encryption,Icons.equalizer,Icons.error,Icons.error_outline,Icons.euro_symbol,Icons.ev_station,Icons.event,Icons.event_available,Icons.event_busy,Icons.event_note,Icons.event_seat,Icons.exit_to_app,Icons.expand_less,Icons.expand_more,Icons.explicit,Icons.explore,Icons.exposure,Icons.exposure_neg_1,Icons.exposure_neg_2,Icons.exposure_plus_1,Icons.exposure_plus_2,Icons.exposure_zero,Icons.extension,Icons.face,Icons.fast_forward,Icons.fast_rewind,Icons.fastfood,Icons.favorite,Icons.favorite_border,Icons.featured_play_list,Icons.featured_video,Icons.feedback,Icons.fiber_dvr,Icons.fiber_manual_record,Icons.fiber_new,Icons.fiber_pin,Icons.fiber_smart_record,Icons.file_download,Icons.file_upload,Icons.filter,Icons.filter_1,Icons.filter_2,Icons.filter_3,Icons.filter_4,Icons.filter_5,Icons.filter_6,Icons.filter_7,Icons.filter_8,Icons.filter_9,Icons.filter_9_plus,Icons.filter_b_and_w,Icons.filter_center_focus,Icons.filter_drama,Icons.filter_frames,Icons.filter_hdr,Icons.filter_list,Icons.filter_none,Icons.filter_tilt_shift,Icons.filter_vintage,Icons.find_in_page,Icons.find_replace,Icons.fingerprint,Icons.first_page,Icons.fitness_center,Icons.flag,Icons.flare,Icons.flash_auto,Icons.flash_off,Icons.flash_on,Icons.flight,Icons.flight_land,Icons.flight_takeoff,Icons.flip,Icons.flip_to_back,Icons.flip_to_front,Icons.folder,Icons.folder_open,Icons.folder_shared,Icons.folder_special,Icons.font_download,Icons.format_align_center,Icons.format_align_justify,Icons.format_align_left,Icons.format_align_right,Icons.format_bold,Icons.format_clear,Icons.format_color_fill,Icons.format_color_reset,Icons.format_color_text,Icons.format_indent_decrease,Icons.format_indent_increase,Icons.format_italic,Icons.format_line_spacing,Icons.format_list_bulleted,Icons.format_list_numbered,Icons.format_list_numbered_rtl,Icons.format_paint,Icons.format_quote,Icons.format_shapes,Icons.format_size,Icons.format_strikethrough,Icons.format_textdirection_l_to_r,Icons.format_textdirection_r_to_l,Icons.format_underlined,Icons.forum,Icons.forward,Icons.forward_5,Icons.forward_10,Icons.forward_30,Icons.four_k,Icons.free_breakfast,Icons.fullscreen,Icons.fullscreen_exit,Icons.functions,Icons.g_translate,Icons.gamepad,Icons.games,Icons.gavel,Icons.gesture,Icons.get_app,Icons.gif,Icons.golf_course,Icons.gps_fixed,Icons.gps_not_fixed,Icons.gps_off,Icons.grade,Icons.gradient,Icons.grain,Icons.graphic_eq,Icons.grid_off,Icons.grid_on,Icons.group,Icons.group_add,Icons.group_work,Icons.hd,Icons.hdr_off,Icons.hdr_on,Icons.hdr_strong,Icons.hdr_weak,Icons.headset,Icons.headset_mic,Icons.headset_off,Icons.healing,Icons.hearing,Icons.help,Icons.help_outline,Icons.high_quality,Icons.highlight,Icons.highlight_off,Icons.history,Icons.home,Icons.hot_tub,Icons.hotel,Icons.hourglass_empty,Icons.hourglass_full,Icons.http,Icons.https,Icons.image,Icons.image_aspect_ratio,Icons.import_contacts,Icons.import_export,Icons.important_devices,Icons.inbox,Icons.indeterminate_check_box,Icons.info,Icons.info_outline,Icons.input,Icons.insert_chart,Icons.insert_comment,Icons.insert_drive_file,Icons.insert_emoticon,Icons.insert_invitation,Icons.insert_link,Icons.insert_photo,Icons.invert_colors,Icons.invert_colors_off,Icons.iso,Icons.keyboard,Icons.keyboard_arrow_down,Icons.keyboard_arrow_left,Icons.keyboard_arrow_right,Icons.keyboard_arrow_up,Icons.keyboard_backspace,Icons.keyboard_capslock,Icons.keyboard_hide,Icons.keyboard_return,Icons.keyboard_tab,Icons.keyboard_voice,Icons.kitchen,Icons.label,Icons.label_important,Icons.label_outline,Icons.landscape,Icons.language,Icons.laptop,Icons.laptop_chromebook,Icons.laptop_mac,Icons.laptop_windows,Icons.last_page,Icons.launch,Icons.layers,Icons.layers_clear,Icons.leak_add,Icons.leak_remove,Icons.lens,Icons.library_add,Icons.library_books,Icons.library_music,Icons.lightbulb_outline,Icons.line_style,Icons.line_weight,Icons.linear_scale,Icons.link,Icons.link_off,Icons.linked_camera,Icons.list,Icons.live_help,Icons.live_tv,Icons.local_activity,Icons.local_airport,Icons.local_atm,Icons.local_bar,Icons.local_cafe,Icons.local_car_wash,Icons.local_convenience_store,Icons.local_dining,Icons.local_drink,Icons.local_florist,Icons.local_gas_station,Icons.local_grocery_store,Icons.local_hospital,Icons.local_hotel,Icons.local_laundry_service,Icons.local_library,Icons.local_mall,Icons.local_movies,Icons.local_offer,Icons.local_parking,Icons.local_pharmacy,Icons.local_phone,Icons.local_pizza,Icons.local_play,Icons.local_post_office,Icons.local_printshop,Icons.local_see,Icons.local_shipping,Icons.local_taxi,Icons.location_city,Icons.location_disabled,Icons.location_off,Icons.location_on,Icons.location_searching,Icons.lock,Icons.lock_open,Icons.lock_outline,Icons.looks,Icons.looks_3,Icons.looks_4,Icons.looks_5,Icons.looks_6,Icons.looks_one,Icons.looks_two,Icons.loop,Icons.loupe,Icons.low_priority,Icons.loyalty,Icons.mail,Icons.mail_outline,Icons.map,Icons.markunread,Icons.markunread_mailbox,Icons.maximize,Icons.memory,Icons.menu,Icons.merge_type,Icons.message,Icons.mic,Icons.mic_none,Icons.mic_off,Icons.minimize,Icons.missed_video_call,Icons.mms,Icons.mobile_screen_share,Icons.mode_comment,Icons.mode_edit,Icons.monetization_on,Icons.money_off,Icons.monochrome_photos,Icons.mood,Icons.mood_bad,Icons.more,Icons.more_horiz,Icons.more_vert,Icons.motorcycle,Icons.mouse,Icons.move_to_inbox,Icons.movie,Icons.movie_creation,Icons.movie_filter,Icons.multiline_chart,Icons.music_note,Icons.music_video,Icons.my_location,Icons.nature,Icons.nature_people,Icons.navigate_before,Icons.navigate_next,Icons.navigation,Icons.near_me,Icons.network_cell,Icons.network_check,Icons.network_locked,Icons.network_wifi,Icons.new_releases,Icons.next_week,Icons.nfc,Icons.no_encryption,Icons.no_sim,Icons.not_interested,Icons.not_listed_location,Icons.note,Icons.note_add,Icons.notification_important,Icons.notifications,Icons.notifications_active,Icons.notifications_none,Icons.notifications_off,Icons.notifications_paused,Icons.offline_bolt,Icons.offline_pin,Icons.ondemand_video,Icons.opacity,Icons.open_in_browser,Icons.open_in_new,Icons.open_with,Icons.outlined_flag,Icons.pages,Icons.pageview,Icons.palette,Icons.pan_tool,Icons.panorama,Icons.panorama_fish_eye,Icons.panorama_horizontal,Icons.panorama_vertical,Icons.panorama_wide_angle,Icons.party_mode,Icons.pause,Icons.pause_circle_filled,Icons.pause_circle_outline,Icons.payment,Icons.people,Icons.people_outline,Icons.perm_camera_mic,Icons.perm_contact_calendar,Icons.perm_data_setting,Icons.perm_device_information,Icons.perm_identity,Icons.perm_media,Icons.perm_phone_msg,Icons.perm_scan_wifi,Icons.person,Icons.person_add,Icons.person_outline,Icons.person_pin,Icons.person_pin_circle,Icons.personal_video,Icons.pets,Icons.phone,Icons.phone_android,Icons.phone_bluetooth_speaker,Icons.phone_forwarded,Icons.phone_in_talk,Icons.phone_iphone,Icons.phone_locked,Icons.phone_missed,Icons.phone_paused,Icons.phonelink,Icons.phonelink_erase,Icons.phonelink_lock,Icons.phonelink_off,Icons.phonelink_ring,Icons.phonelink_setup,Icons.photo,Icons.photo_album,Icons.photo_camera,Icons.photo_filter,Icons.photo_library,Icons.photo_size_select_actual,Icons.photo_size_select_large,Icons.photo_size_select_small,Icons.picture_as_pdf,Icons.picture_in_picture,Icons.picture_in_picture_alt,Icons.pie_chart,Icons.pie_chart_outlined,Icons.pin_drop,Icons.place,Icons.play_arrow,Icons.play_circle_filled,Icons.play_circle_outline,Icons.play_for_work,Icons.playlist_add,Icons.playlist_add_check,Icons.playlist_play,Icons.plus_one,Icons.poll,Icons.polymer,Icons.pool,Icons.portable_wifi_off,Icons.portrait,Icons.power,Icons.power_input,Icons.power_settings_new,Icons.pregnant_woman,Icons.present_to_all,Icons.print,Icons.priority_high,Icons.public,Icons.publish,Icons.query_builder,Icons.question_answer,Icons.queue,Icons.queue_music,Icons.queue_play_next,Icons.radio,Icons.radio_button_checked,Icons.radio_button_unchecked,Icons.rate_review,Icons.receipt,Icons.recent_actors,Icons.record_voice_over,Icons.redeem,Icons.redo,Icons.refresh,Icons.remove,Icons.remove_circle,Icons.remove_circle_outline,Icons.remove_from_queue,Icons.remove_red_eye,Icons.remove_shopping_cart,Icons.reorder,Icons.repeat,Icons.repeat_one,Icons.replay,Icons.replay_5,Icons.replay_10,Icons.replay_30,Icons.reply,Icons.reply_all,Icons.report,Icons.report_off,Icons.report_problem,Icons.restaurant,Icons.restaurant_menu,Icons.restore,Icons.restore_from_trash,Icons.restore_page,Icons.ring_volume,Icons.room,Icons.room_service,Icons.rotate_90_degrees_ccw,Icons.rotate_left,Icons.rotate_right,Icons.rounded_corner,Icons.router,Icons.rowing,Icons.rss_feed,Icons.rv_hookup,Icons.satellite,Icons.save,Icons.save_alt,Icons.scanner,Icons.scatter_plot,Icons.schedule,Icons.school,Icons.score,Icons.screen_lock_landscape,Icons.screen_lock_portrait,Icons.screen_lock_rotation,Icons.screen_rotation,Icons.screen_share,Icons.sd_card,Icons.sd_storage,Icons.search,Icons.security,Icons.select_all,Icons.send,Icons.sentiment_dissatisfied,Icons.sentiment_neutral,Icons.sentiment_satisfied,Icons.sentiment_very_dissatisfied,Icons.sentiment_very_satisfied,Icons.settings,Icons.settings_applications,Icons.settings_backup_restore,Icons.settings_bluetooth,Icons.settings_brightness,Icons.settings_cell,Icons.settings_ethernet,Icons.settings_input_antenna,Icons.settings_input_component,Icons.settings_input_composite,Icons.settings_input_hdmi,Icons.settings_input_svideo,Icons.settings_overscan,Icons.settings_phone,Icons.settings_power,Icons.settings_remote,Icons.settings_system_daydream,Icons.settings_voice,Icons.share,Icons.shop,Icons.shop_two,Icons.shopping_basket,Icons.shopping_cart,Icons.short_text,Icons.show_chart,Icons.shuffle,Icons.shutter_speed,Icons.signal_cellular_4_bar,Icons.signal_cellular_connected_no_internet_4_bar,Icons.signal_cellular_no_sim,Icons.signal_cellular_null,Icons.signal_cellular_off,Icons.signal_wifi_4_bar,Icons.signal_wifi_4_bar_lock,Icons.signal_wifi_off,Icons.sim_card,Icons.sim_card_alert,Icons.skip_next,Icons.skip_previous,Icons.slideshow,Icons.slow_motion_video,Icons.smartphone,Icons.smoke_free,Icons.smoking_rooms,Icons.sms,Icons.sms_failed,Icons.snooze,Icons.sort,Icons.sort_by_alpha,Icons.spa,Icons.space_bar,Icons.speaker,Icons.speaker_group,Icons.speaker_notes,Icons.speaker_notes_off,Icons.speaker_phone,Icons.spellcheck,Icons.star,Icons.star_border,Icons.star_half,Icons.stars,Icons.stay_current_landscape,Icons.stay_current_portrait,Icons.stay_primary_landscape,Icons.stay_primary_portrait,Icons.stop,Icons.stop_screen_share,Icons.storage,Icons.store,Icons.store_mall_directory,Icons.straighten,Icons.streetview,Icons.strikethrough_s,Icons.style,Icons.subdirectory_arrow_left,Icons.subdirectory_arrow_right,Icons.subject,Icons.subscriptions,Icons.subtitles,Icons.subway,Icons.supervised_user_circle,Icons.supervisor_account,Icons.surround_sound,Icons.swap_calls,Icons.swap_horiz,Icons.swap_horizontal_circle,Icons.swap_vert,Icons.swap_vertical_circle,Icons.switch_camera,Icons.switch_video,Icons.sync,Icons.sync_disabled,Icons.sync_problem,Icons.system_update,Icons.system_update_alt,Icons.tab,Icons.tab_unselected,Icons.table_chart,Icons.tablet,Icons.tablet_android,Icons.tablet_mac,Icons.tag_faces,Icons.tap_and_play,Icons.terrain,Icons.text_fields,Icons.text_format,Icons.text_rotate_up,Icons.text_rotate_vertical,Icons.text_rotation_angledown,Icons.text_rotation_angleup,Icons.text_rotation_down,Icons.text_rotation_none,Icons.textsms,Icons.texture,Icons.theaters,Icons.threed_rotation,Icons.threesixty,Icons.thumb_down,Icons.thumb_up,Icons.thumbs_up_down,Icons.time_to_leave,Icons.timelapse,Icons.timeline,Icons.timer,Icons.timer_3,Icons.timer_10,Icons.timer_off,Icons.title,Icons.toc,Icons.today,Icons.toll,Icons.tonality,Icons.touch_app,Icons.toys,Icons.track_changes,Icons.traffic,Icons.train,Icons.tram,Icons.transfer_within_a_station,Icons.transform,Icons.transit_enterexit,Icons.translate,Icons.trending_down,Icons.trending_flat,Icons.trending_up,Icons.trip_origin,Icons.tune,Icons.turned_in,Icons.turned_in_not,Icons.tv,Icons.unarchive,Icons.undo,Icons.unfold_less,Icons.unfold_more,Icons.update,Icons.usb,Icons.verified_user,Icons.vertical_align_bottom,Icons.vertical_align_center,Icons.vertical_align_top,Icons.vibration,Icons.video_call,Icons.video_label,Icons.video_library,Icons.videocam,Icons.videocam_off,Icons.videogame_asset,Icons.view_agenda,Icons.view_array,Icons.view_carousel,Icons.view_column,Icons.view_comfy,Icons.view_compact,Icons.view_day,Icons.view_headline,Icons.view_list,Icons.view_module,Icons.view_quilt,Icons.view_stream,Icons.view_week,Icons.vignette,Icons.visibility,Icons.visibility_off,Icons.voice_chat,Icons.voicemail,Icons.volume_down,Icons.volume_mute,Icons.volume_off,Icons.volume_up,Icons.vpn_key,Icons.vpn_lock,Icons.wallpaper,Icons.warning,Icons.watch,Icons.watch_later,Icons.wb_auto,Icons.wb_cloudy,Icons.wb_incandescent,Icons.wb_iridescent,Icons.wb_sunny,Icons.wc,Icons.web,Icons.web_asset,Icons.weekend,Icons.whatshot,Icons.widgets,Icons.wifi,Icons.wifi_lock,Icons.wifi_tethering,Icons.work,Icons.wrap_text,Icons.youtube_searched_for,Icons.zoom_in,Icons.zoom_out,Icons.zoom_out_map]; +} + +class CupertinoIIconNames { + static List names = [CupertinoIcons.add,CupertinoIcons.add_circled,CupertinoIcons.add_circled_solid,CupertinoIcons.back,CupertinoIcons.battery_25_percent,CupertinoIcons.battery_75_percent,CupertinoIcons.battery_charging,CupertinoIcons.battery_empty,CupertinoIcons.battery_full,CupertinoIcons.bluetooth,CupertinoIcons.book,CupertinoIcons.book_solid,CupertinoIcons.bookmark,CupertinoIcons.bookmark_solid,CupertinoIcons.check_mark,CupertinoIcons.check_mark_circled,CupertinoIcons.check_mark_circled_solid,CupertinoIcons.clear,CupertinoIcons.clear_circled,CupertinoIcons.clear_circled_solid,CupertinoIcons.clear_thick,CupertinoIcons.clear_thick_circled,CupertinoIcons.clock,CupertinoIcons.clock_solid,CupertinoIcons.collections,CupertinoIcons.collections_solid,CupertinoIcons.conversation_bubble,CupertinoIcons.create,CupertinoIcons.create_solid,CupertinoIcons.delete,CupertinoIcons.delete_simple,CupertinoIcons.delete_solid,CupertinoIcons.down_arrow,CupertinoIcons.ellipsis,CupertinoIcons.eye,CupertinoIcons.eye_solid,CupertinoIcons.flag,CupertinoIcons.folder,CupertinoIcons.folder_open,CupertinoIcons.folder_solid,CupertinoIcons.forward,CupertinoIcons.fullscreen,CupertinoIcons.fullscreen_exit,CupertinoIcons.gear,CupertinoIcons.gear_big,CupertinoIcons.gear_solid,CupertinoIcons.group,CupertinoIcons.group_solid,CupertinoIcons.home,CupertinoIcons.info,CupertinoIcons.left_chevron,CupertinoIcons.location,CupertinoIcons.location_solid,CupertinoIcons.loop,CupertinoIcons.loop_thick,CupertinoIcons.mail,CupertinoIcons.mail_solid,CupertinoIcons.mic,CupertinoIcons.mic_off,CupertinoIcons.mic_solid,CupertinoIcons.minus_circled,CupertinoIcons.music_note,CupertinoIcons.padlock,CupertinoIcons.padlock_solid,CupertinoIcons.pause,CupertinoIcons.pause_solid,CupertinoIcons.pen,CupertinoIcons.pencil,CupertinoIcons.person,CupertinoIcons.person_add,CupertinoIcons.person_add_solid,CupertinoIcons.person_solid,CupertinoIcons.phone,CupertinoIcons.phone_solid,CupertinoIcons.photo_camera,CupertinoIcons.photo_camera_solid,CupertinoIcons.play_arrow,CupertinoIcons.play_arrow_solid,CupertinoIcons.plus_circled,CupertinoIcons.profile_circled,CupertinoIcons.refresh,CupertinoIcons.refresh_bold,CupertinoIcons.refresh_circled,CupertinoIcons.refresh_circled_solid,CupertinoIcons.refresh_thick,CupertinoIcons.refresh_thin,CupertinoIcons.reply,CupertinoIcons.reply_all,CupertinoIcons.reply_thick_solid,CupertinoIcons.restart,CupertinoIcons.right_chevron,CupertinoIcons.search,CupertinoIcons.settings,CupertinoIcons.settings_solid,CupertinoIcons.share,CupertinoIcons.share_solid,CupertinoIcons.share_up,CupertinoIcons.shopping_cart,CupertinoIcons.shuffle_thick,CupertinoIcons.switch_camera,CupertinoIcons.switch_camera_solid,CupertinoIcons.tag,CupertinoIcons.tag_solid,CupertinoIcons.tags,CupertinoIcons.tags_solid,CupertinoIcons.time,CupertinoIcons.time_solid,CupertinoIcons.up_arrow,CupertinoIcons.video_camera,CupertinoIcons.video_camera_solid,CupertinoIcons.volume_down,CupertinoIcons.volume_mute,CupertinoIcons.volume_off,CupertinoIcons.volume_up]; } \ No newline at end of file diff --git a/lib/common/widget_name_to_icon.dart b/lib/common/widget_name_to_icon.dart index 188e848f..73ca4752 100644 --- a/lib/common/widget_name_to_icon.dart +++ b/lib/common/widget_name_to_icon.dart @@ -145,6 +145,10 @@ class WidgetName2Icon { "SimpleDialog":Icons.message, "ScaffoldState":Icons.local_bar, "GridTile":Icons.apps, - "MergeableMaterialItem":Icons.view_list + "MergeableMaterialItem":Icons.view_list, + "CupertinoApp":Icons.face, + "CupertinoButton":Icons.crop_7_5, + "CupertinoColors":Icons.color_lens, + "CupertinoIcons":Icons.insert_emoticon, }; } diff --git a/lib/components/disclaimer_msg.dart b/lib/components/disclaimer_msg.dart index a070a2a2..538f0383 100644 --- a/lib/components/disclaimer_msg.dart +++ b/lib/components/disclaimer_msg.dart @@ -35,7 +35,7 @@ class DisclaimerMsgState extends State { final SharedPreferences prefs = await _prefs; final bool unKnow = value; setState(() { - _unKnow = prefs.setBool("disclaimer", unKnow).then((bool success) { + _unKnow = prefs.setBool("disclaimer::Boolean", unKnow).then((bool success) { return unKnow; }); }); @@ -46,7 +46,7 @@ class DisclaimerMsgState extends State { super.initState(); //获取SharedPreferences 存储结果 _unKnow = _prefs.then((SharedPreferences prefs) { - return (prefs.getBool('disclaimer') ?? false); + return (prefs.getBool('disclaimer::Boolean') ?? false); }); _unKnow.then((bool value) { _valBool = value; diff --git a/lib/views/first_page.dart b/lib/views/first_page.dart index 6de4a951..cfbbfc08 100644 --- a/lib/views/first_page.dart +++ b/lib/views/first_page.dart @@ -30,20 +30,22 @@ class FirstPageState extends State with AutomaticKeepAliveClientMixin if (key == null) { key = GlobalKey(); //获取sharePre - _unKnow = _prefs.then((SharedPreferences prefs) { - return (prefs.getBool('disclaimer') ?? false); - }); + _unKnow = _prefs.then((SharedPreferences prefs) { + return (prefs.getBool('disclaimer::Boolean') ?? false); + }); + /** * 判断是否需要弹出免责声明,已经勾选过不在显示,就不会主动弹 */ _unKnow.then((bool value) { print("==========FirstPageState========_unKnow========${value}"); - if (!value) { - key.currentState.showAlertDialog(context); - } + new Future.delayed(const Duration(seconds: 1),(){ + if (!value) { + key.currentState.showAlertDialog(context); + } + }); }); } - } diff --git a/lib/widgets/components/Bar/AppBar/index.dart b/lib/widgets/components/Bar/AppBar/index.dart index eda42fc0..5282d352 100644 --- a/lib/widgets/components/Bar/AppBar/index.dart +++ b/lib/widgets/components/Bar/AppBar/index.dart @@ -48,7 +48,7 @@ class _DemoState extends State { Widget build(BuildContext context) { return WidgetDemo( title: 'AppBar', - codeUrl: 'componentss/Bar/AppBar/demo.dart', + codeUrl: 'components/Bar/AppBar/demo.dart', contentList: [allDomes(context, this)], docUrl: 'https://docs.flutter.io/flutter/material/AppBar-class.html', ); diff --git a/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart b/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart new file mode 100644 index 00000000..9451be4e --- /dev/null +++ b/lib/widgets/themes/Cupertino/CupertinoApp/demo.dart @@ -0,0 +1,168 @@ +/** + * Created with Android Studio. + * User: ryan + * Date: 2019/1/20 + * Time: 上午11:34 + * email: zhu.yan@alibaba-inc.com + * tartget: CupertinoApp 的示例 + */ + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +/* +* Checkbox 默认按钮的实例 +* index 当前checkbox 的索引值 +* */ +class CupertinoAppFullDefault extends StatefulWidget { + const CupertinoAppFullDefault() : super(); + + @override + State createState() => _CupertinoAppFullDefault(); +} + +/* +* CupertinoApp 默认的实例,有状态 +* */ +class _CupertinoAppFullDefault extends State { + + RouterHandler(setting){ + //setting.isInitialRoute; bool类型 是否初始路由 + //setting.name; 要跳转的路由名key + return PageRouteBuilder( + pageBuilder: (BuildContext context, _, __) { + //这里为返回的Widget + return HomePage(); + }, + opaque: false, + //跳转动画 + transitionDuration: Duration(milliseconds: 200), + transitionsBuilder: (___, Animation animation, ____, Widget child) { + return FadeTransition( + opacity: animation, + child: new ScaleTransition( + scale: new Tween(begin: 0.5, end: 1.0) + .animate(animation), + child: child, + ), + ); + } + ); + } + + @override + Widget build(BuildContext context) { + return SizedBox( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + //height: 500.0, + child: CupertinoApp( + title: '这里是标题',// 设备用于识别用户的应用程序的单行描述 + builder: (BuildContext context,Widget child) { // 当构建一个Widget前调用一般做字体大小,方向,主题颜色等配置 + //return Container(child:Text('这里是内容1',style:TextStyle(color:Colors.black))); + return MediaQuery( + //字体大小 + data: MediaQuery.of(context).copyWith(textScaleFactor: 1.4), + child: child, + ); + }, + checkerboardOffscreenLayers:false, // 打开渲染到屏幕外位图的图层的checkerboarding + checkerboardRasterCacheImages:false, // 打开光栅缓存图像的检查板。 + debugShowCheckedModeBanner:true,// 在debug模式下打开一个小“DEBUG”横幅,表示该应用程序处于检查模式 + color: Colors.red, // 该颜色为程序切换中应用图标背景的颜色,当应用图标背景为透明时 +// home: HomePage(),// 进入程序后显示的第一个页面,传入的是一个Widget,但实际上这个Widget需要包裹一个Scaffold + home: CupertinoPageScaffold(// 进入程序后显示的第一个页面,传入的是一个Widget,但实际上这个Widget需要包裹一个Scaffold + navigationBar: CupertinoNavigationBar( + leading: Icon(CupertinoIcons.back), + middle: Text('Title'), + trailing: Icon(CupertinoIcons.share), + ), + child:Container(child:Text('这里是内容',style:TextStyle(color:Colors.black))), // 应用程序默认路由,(Navigator.defaultRouteName,即/) + ), + initialRoute:'/home',// 如果构建了导航器,则显示的第一条路径的名称,初始路由,当用户进入程序时,自动打开对应的路由。(home还是位于一级)传入的是上面routes的key + locale:Locale('zh', 'CH'),// 本地化初始值 + localeResolutionCallback: (local,support){// 区域分辨回调,当传入的是不支持的语种,可以根据这个回调,返回相近,并且支持的语种 + return const Locale('us','uk'); + }, + localizationsDelegates:[], // 本地化委托,用于更改Flutter Widget默认的提示语,按钮text等,返回一个 继承自 LocalizationsDelegate 的对象 + navigatorKey:GlobalKey(), // 导航主键 GlobalKey + navigatorObservers: [ // 路由观察器,当调用Navigator的相关方法时,会回调相关的操作 + MyObserver(), + ], + onGenerateRoute: (setting){ // 当通过Navigation.of(context).pushNamed跳转路由时,在routes查找不到时,会调用该方法 + RouterHandler(setting); + }, + onGenerateTitle: (context){ // 跟上面的tiitle一样,但含有一个context参数用于做本地化 + return 'Flutter应用'; + }, + onUnknownRoute: (setting){ // 效果跟onGenerateRoute一样调用顺序为onGenerateRoute ==> onUnknownRoute + //RouterHandler(setting); + }, + routes: { // 声明程序中有哪个通过Navigation.of(context).pushNamed跳转的路由参数以键值对的形式传递key:路由名字value:对应的Widget + '/home':(BuildContext context) => HomePage(), + '/home/one':(BuildContext context) => OnePage(), + }, + showPerformanceOverlay:false, // 当为true时应用程序顶部覆盖一层GPU和UI曲线图,可即时查看当前流畅度情况 + showSemanticsDebugger:false, // 当为true时,打开Widget边框,类似Android开发者模式中显示布局边界 + supportedLocales:[// 传入支持的语种数组 + const Locale('uok'), + const Locale('meg'), + ], + ) + ); + } + + Widget homeBuild(BuildContext context) { + return CupertinoTabScaffold( + tabBar: CupertinoTabBar( + backgroundColor: CupertinoColors.white, + items: const [ + BottomNavigationBarItem( + icon: ImageIcon( + AssetImage('assets/images/btn_icon_dingyuehao_normal.png')), + title: Text('Tab 1'), + ), + BottomNavigationBarItem( + icon: ImageIcon( + AssetImage('assets/images/btn_icon_dingyuehao_normal.png')), + title: Text('Tab 2'), + ), + ]), + tabBuilder: (BuildContext context, int index) { + return CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar( + backgroundColor: CupertinoColors.destructiveRed, + middle: Text('这里是标题', style: TextStyle(color: Colors.white)), + ), + child: Center(child: Text('这里是内容', style: TextStyle(color: Colors.black))), + backgroundColor: CupertinoColors.extraLightBackgroundGray, + ); + } + ); + } +} + +class MyObserver extends NavigatorObserver{ + @override + void didPush(Route route, Route previousRoute) { + // 当调用Navigator.push时回调 + super.didPush(route, previousRoute); + //可通过route.settings获取路由相关内容 + //route.currentResult获取返回内容 + print('MyObserver 路由观察器:${route.settings.name}'); + } +} + +class HomePage extends StatelessWidget{ + @override + Widget build(BuildContext context){ + return Center(child:Text('HomePage',style:TextStyle(color:Colors.black))); + } +} + +class OnePage extends StatelessWidget{ + @override + Widget build(BuildContext context){ + return Center(child:Text('OnePage',style:TextStyle(color:Colors.red))); + } +} \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoApp/index.dart b/lib/widgets/themes/Cupertino/CupertinoApp/index.dart new file mode 100644 index 00000000..21adb1d7 --- /dev/null +++ b/lib/widgets/themes/Cupertino/CupertinoApp/index.dart @@ -0,0 +1,53 @@ +/* + * @Author: 一凨 + * @Date: 2018-12-27 16:25:22 + * @Last Modified by: 一凨 + * @Last Modified time: 2019-01-07 15:52:45 + */ +import 'package:flutter/material.dart'; +import '../../../../common/widget_demo.dart'; +import './demo.dart' as demoBox; + +const String content0 = ''' +### **简介** +> Cupertino 苹果设计风格的应用,用于创建 iOS 风格应用的顶层组件( Cupertino 苹果电脑的全球总公司所在地,位于美国旧金山 ) +- 它包含了 iOS 应用程序,通常需要的许多 widget; +- 它的构建于基于 iOS 的 WidgetsApp 特定的默认值,如字体和物理滚动; +'''; + +const String content1 = ''' +### **基本用法** +> CupertinoApp 的主要特性 +- top 级别的 Navigator 搜索的配置,需要遵循以下规则优先级 + - 首先,对于 根路由 "/", 使用 home 属性,前提是 home 属性不为空; + - 如果没设置home,则使用 routes 属性,它应用程序的顶级路由表; + - 如果 home 和 routes 都没有做有效配置,则调用onGenerateRoute(如果提供),并且返回非null值; + - 最后,如果所有其他方法都失败onUnknownRoute被调用; + - 如果 home,routes,onGenerateRoute和onUnknownRoute 都为null,并且builder不为null,则不会创建任何Navigator; + - 如果配置了顶级 Navigator 的 observer,则可以做 Hero 动画; +- 在 Android 上谨慎使用此 widget,因为它可能会产生 Android 用户不同的行为,例如: + - 通过反向滑动可以禁用页面; + - 滚动到底或者顶,会触发 ios 风格的弹性效果; + - 某些苹果字体系列在 Android上 不可用,可能导致未定义的字体提示。 +'''; + +class Demo extends StatefulWidget { + static const String routeName = '/themes/Cupertino/CupertinoApp'; + _DemoState createState() => _DemoState(); +} + +class _DemoState extends State { + @override + Widget build(BuildContext context) { + return WidgetDemo( + contentList: [ + content0, + content1, + demoBox.CupertinoAppFullDefault() + ], + title: 'CupertinoApp', + docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoApp-class.html', + codeUrl: '/themes/Cupertino/CupertinoApp/demo.dart', + ); + } +} \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoButton/demo.dart b/lib/widgets/themes/Cupertino/CupertinoButton/demo.dart new file mode 100644 index 00000000..02cf2417 --- /dev/null +++ b/lib/widgets/themes/Cupertino/CupertinoButton/demo.dart @@ -0,0 +1,41 @@ +/** + * Created with Android Studio. + * User: ryan + * Date: 2019/1/20 + * Time: 上午11:34 + * email: zhu.yan@alibaba-inc.com + * tartget: CupertinoButton 的示例 + */ + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +/* +* Checkbox 默认按钮的实例 +* index 当前checkbox 的索引值 +* */ +class CupertinoButtonFullDefault extends StatefulWidget { + const CupertinoButtonFullDefault() : super(); + + @override + State createState() => _CupertinoButtonFullDefault(); +} + +/* +* CupertinoButton 默认的实例,有状态 +* */ +class _CupertinoButtonFullDefault extends State { + + @override + Widget build(BuildContext context) { + return CupertinoButton( + borderRadius: BorderRadius.all(Radius.circular(15.0)), + onPressed: () { + print('on Pressed!'); + }, + pressedOpacity:0.5,// 按下后的按钮不透明度 + color:CupertinoColors.darkBackgroundGray, + child: new Text('CupertinoButton'), + ); + } +} \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoButton/index.dart b/lib/widgets/themes/Cupertino/CupertinoButton/index.dart new file mode 100644 index 00000000..aadacea5 --- /dev/null +++ b/lib/widgets/themes/Cupertino/CupertinoButton/index.dart @@ -0,0 +1,45 @@ +/** + * Created with Android Studio. + * User: 一晟 + * Date: 2019/1/20 + * Time: 下午10:57 + * email: zhu.yan@alibaba-inc.com + * tartget: CupertinoButton 的示例 + */ +import 'package:flutter/material.dart'; +import '../../../../common/widget_demo.dart'; +import './demo.dart' as demoBox; + +const String content0 = ''' +### **简介** +> ios 风格的 button +- 与普通的 button 一样,需要设置 text 或者 icon, 不同的是带有 fades out 效果; +- 同时可以设置一个背景颜色; +'''; + +const String content1 = ''' +### **基本用法** +> CupertinoButton 的一个是示例 +- 属性基本和 flatButton,raisedButton 类似 +'''; + +class Demo extends StatefulWidget { + static const String routeName = '/themes/Cupertino/CupertinoApp'; + _DemoState createState() => _DemoState(); +} + +class _DemoState extends State { + @override + Widget build(BuildContext context) { + return WidgetDemo( + contentList: [ + content0, + content1, + demoBox.CupertinoButtonFullDefault() + ], + title: 'CupertinoApp', + docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoButton-class.html', + codeUrl: '/themes/Cupertino/CupertinoButton/demo.dart', + ); + } +} \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoColors/demo.dart b/lib/widgets/themes/Cupertino/CupertinoColors/demo.dart new file mode 100644 index 00000000..b6bbacb4 --- /dev/null +++ b/lib/widgets/themes/Cupertino/CupertinoColors/demo.dart @@ -0,0 +1,51 @@ +/** + * Created with Android Studio. + * User: ryan + * Date: 2019/1/20 + * Time: 上午11:34 + * email: zhu.yan@alibaba-inc.com + * tartget: CupertinoColors 的示例 + */ + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +/* +* Checkbox 默认按钮的实例 +* index 当前checkbox 的索引值 +* */ +class CupertinoColorsFullDefault extends StatefulWidget { + const CupertinoColorsFullDefault() : super(); + + @override + State createState() => _CupertinoColorsFullDefault(); +} + +/* +* CupertinoColors 默认的实例,有状态 +* */ +class _CupertinoColorsFullDefault extends State { + + Widget setColorsView(Cupertino_colors){ + return Container( + width: MediaQuery.of(context).size.width-100, + padding: const EdgeInsets.all(10.0), + child:Text('activeBlue',style:TextStyle(color:Colors.white)), + decoration:BoxDecoration(color: Cupertino_colors) + ); + } + @override + Widget build(BuildContext context) { + return Column( + children: [ + setColorsView(CupertinoColors.activeBlue), + setColorsView(CupertinoColors.activeGreen), + setColorsView(CupertinoColors.black), + setColorsView(CupertinoColors.destructiveRed), + setColorsView(CupertinoColors.inactiveGray), + setColorsView(CupertinoColors.lightBackgroundGray), + setColorsView(CupertinoColors.white) + ], + ); + } +} \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoColors/index.dart b/lib/widgets/themes/Cupertino/CupertinoColors/index.dart new file mode 100644 index 00000000..aef14e24 --- /dev/null +++ b/lib/widgets/themes/Cupertino/CupertinoColors/index.dart @@ -0,0 +1,42 @@ +/** + * Created with Android Studio. + * User: 一晟 + * Date: 2019/1/20 + * Time: 下午10:57 + * email: zhu.yan@alibaba-inc.com + * tartget: CupertinoButton 的示例 + */ +import 'package:flutter/material.dart'; +import '../../../../common/widget_demo.dart'; +import './demo.dart' as demoBox; + +const String content0 = ''' +### **简介** +> iOS平台常用的颜色 +'''; + +const String content1 = ''' +### **基本用法** +> CupertinoColors 的一个是示例 +'''; + +class Demo extends StatefulWidget { + static const String routeName = '/themes/Cupertino/CupertinoApp'; + _DemoState createState() => _DemoState(); +} + +class _DemoState extends State { + @override + Widget build(BuildContext context) { + return WidgetDemo( + contentList: [ + content0, + content1, + demoBox.CupertinoColorsFullDefault() + ], + title: 'CupertinoApp', + docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoColors-class.html', + codeUrl: '/themes/Cupertino/CupertinoColor/demo.dart', + ); + } +} \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/CupertinoIcons/demo.dart b/lib/widgets/themes/Cupertino/CupertinoIcons/demo.dart new file mode 100644 index 00000000..36099124 --- /dev/null +++ b/lib/widgets/themes/Cupertino/CupertinoIcons/demo.dart @@ -0,0 +1,89 @@ +/** + * Created with Android Studio. + * User: ryan + * Date: 2019/1/20 + * Time: 上午11:34 + * email: zhu.yan@alibaba-inc.com + * tartget: CupertinoIcons 的示例 + */ + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_go/common/icon_names.dart' as icon_names; + +/* +* Checkbox 默认按钮的实例 +* index 当前checkbox 的索引值 +* */ +class CupertinoIconsFullDefault extends StatefulWidget { + const CupertinoIconsFullDefault() : super(); + + @override + State createState() => _CupertinoIconsFullDefault(); +} + +/* +* CupertinoIcons 默认的实例,有状态 +* */ +class _CupertinoIconsFullDefault extends State { + + final colorsList = []; + final List widgetList = []; + + Widget rowView(IconData itA,IconData itB){ + //print('itA=====>${itA.fontPackage}'); + return Row( + //mainAxisSize:MainAxisSize.max, + //crossAxisAlignment: CrossAxisAlignment.start, + //mainAxisAlignment: MainAxisAlignment.start, + children: [ + Expanded( + flex:1, + child: CupertinoButton( + padding: EdgeInsets.only(left: 0), + child:FlatButton.icon( + label: Text('默认按钮', semanticsLabel: 'Add'), + icon:Icon(itA, + semanticLabel: 'Add', + ), + onPressed: () { }, + ))), + Expanded( + flex:1, + child: CupertinoButton( + padding: EdgeInsets.zero, + child:FlatButton.icon( + label: Text('默认按钮', semanticsLabel: 'Add'), + icon:Icon(itB, + semanticLabel: 'Add', + ), + onPressed: () { }, + ))), + ], + ); + } + + @override + void initState() { + super.initState(); + + final names = icon_names.CupertinoIIconNames.names; + for(var i=0;i Cupertino图标的标识符 +- 与Icon类一起使用以显示特定图标; +- 请确保cupertino_icons在项目的pubspec.yaml文件中添加依赖项。这可确保CupertinoIcons字体包含在您的应用程序中; +'''; + +const String content1 = ''' +### **基本用法** +> CupertinoIcons 的一个是示例 +'''; + +class Demo extends StatefulWidget { + static const String routeName = '/themes/Cupertino/CupertinoApp'; + _DemoState createState() => _DemoState(); +} + +class _DemoState extends State { + @override + Widget build(BuildContext context) { + return WidgetDemo( + contentList: [ + content0, + content1, + demoBox.CupertinoIconsFullDefault() + ], + title: 'CupertinoApp', + docUrl: 'https://docs.flutter.io/flutter/cupertino/CupertinoIcons-class.html', + codeUrl: '/themes/Cupertino/CupertinoColor/demo.dart', + ); + } +} \ No newline at end of file diff --git a/lib/widgets/themes/Cupertino/index.dart b/lib/widgets/themes/Cupertino/index.dart new file mode 100644 index 00000000..d5331eea --- /dev/null +++ b/lib/widgets/themes/Cupertino/index.dart @@ -0,0 +1,31 @@ +import "package:flutter/material.dart"; +import '../../../model/widget.dart'; + +import 'CupertinoApp/index.dart' as CupertinoApp; +import 'CupertinoButton/index.dart' as CupertinoButton; +import 'CupertinoColors/index.dart' as CupertinoColors; +import 'CupertinoIcons/index.dart' as CupertinoIcons; + + +List widgetPoints = [ + WidgetPoint( + name: 'CupertinoIcons', + routerName: CupertinoIcons.Demo.routeName, + buildRouter: (BuildContext context) => CupertinoIcons.Demo(), + ), + WidgetPoint( + name: 'CupertinoColors', + routerName: CupertinoColors.Demo.routeName, + buildRouter: (BuildContext context) => CupertinoColors.Demo(), + ), + WidgetPoint( + name: 'CupertinoButton', + routerName: CupertinoButton.Demo.routeName, + buildRouter: (BuildContext context) => CupertinoButton.Demo(), + ), + WidgetPoint( + name: 'CupertinoApp', + routerName: CupertinoApp.Demo.routeName, + buildRouter: (BuildContext context) => CupertinoApp.Demo(), + ), +]; diff --git a/lib/widgets/themes/index.dart b/lib/widgets/themes/index.dart index e7a62e6c..6c61cd40 100644 --- a/lib/widgets/themes/index.dart +++ b/lib/widgets/themes/index.dart @@ -6,9 +6,11 @@ */ import './Material/index.dart' as Material; +import './Cupertino/index.dart' as Cupertino; List getWidgets() { List result = []; result.addAll(Material.widgetPoints); + result.addAll(Cupertino.widgetPoints); return result; } \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 84cbc7ba..8ea0e76f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -165,10 +165,17 @@ flutter: - lib/widgets/themes/Material/MergeableMaterialItem/demo.dart - assets/app.db - assets/images/ + - assets/fonts/ - lib/common/example_code_parser.dart - lib/common/syntax_highlighter.dart - + fonts: + - family: FlamanteRoma + fonts: + - asset: assets/fonts/Flamante-Roma-Medium.ttf + - asset: assets/fonts/Lato-Bold.ttf + - asset: assets/fonts/Flamante-Roma-MediumItalic.ttf + style: italic # To add assets to your application, add an assets section, like this: # assets: