react-native-readium 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +135 -0
- package/android/build.gradle +198 -0
- package/android/gradle.properties +3 -0
- package/android/src/main/AndroidManifest.xml +4 -0
- package/android/src/main/java/com/reactnativereadium/ReadiumPackage.kt +17 -0
- package/android/src/main/java/com/reactnativereadium/ReadiumView.kt +84 -0
- package/android/src/main/java/com/reactnativereadium/ReadiumViewManager.kt +80 -0
- package/android/src/main/java/com/reactnativereadium/epub/UserSettings.kt +236 -0
- package/android/src/main/java/com/reactnativereadium/reader/BaseReaderFragment.kt +81 -0
- package/android/src/main/java/com/reactnativereadium/reader/EpubReaderFragment.kt +375 -0
- package/android/src/main/java/com/reactnativereadium/reader/ImageReaderFragment.kt +68 -0
- package/android/src/main/java/com/reactnativereadium/reader/PdfReaderFragment.kt +82 -0
- package/android/src/main/java/com/reactnativereadium/reader/ReaderService.kt +116 -0
- package/android/src/main/java/com/reactnativereadium/reader/ReaderViewModel.kt +120 -0
- package/android/src/main/java/com/reactnativereadium/reader/VisualReaderFragment.kt +78 -0
- package/android/src/main/java/com/reactnativereadium/search/SearchFragment.kt +100 -0
- package/android/src/main/java/com/reactnativereadium/search/SearchPagingSource.kt +44 -0
- package/android/src/main/java/com/reactnativereadium/search/SearchResultAdapter.kt +68 -0
- package/android/src/main/java/com/reactnativereadium/utils/ContentResolverUtil.kt +156 -0
- package/android/src/main/java/com/reactnativereadium/utils/Dimensions.kt +6 -0
- package/android/src/main/java/com/reactnativereadium/utils/EventChannel.kt +61 -0
- package/android/src/main/java/com/reactnativereadium/utils/FragmentFactory.kt +46 -0
- package/android/src/main/java/com/reactnativereadium/utils/R2DispatcherActivity.kt +45 -0
- package/android/src/main/java/com/reactnativereadium/utils/SectionDecoration.kt +98 -0
- package/android/src/main/java/com/reactnativereadium/utils/SingleClickListener.kt +32 -0
- package/android/src/main/java/com/reactnativereadium/utils/SystemUiManagement.kt +63 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Bitmap.kt +23 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Context.kt +16 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/File.kt +22 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/InputStream.kt +23 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Link.kt +6 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Metadata.kt +6 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/URL.kt +29 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Uri.kt +17 -0
- package/android/src/main/res/drawable/background_action_mode.xml +6 -0
- package/android/src/main/res/drawable/cnl.png +0 -0
- package/android/src/main/res/drawable/cover.png +0 -0
- package/android/src/main/res/drawable/ic_add_white_24dp.xml +9 -0
- package/android/src/main/res/drawable/ic_baseline_arrow_forward_24.xml +5 -0
- package/android/src/main/res/drawable/ic_baseline_bookmark_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_delete_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_edit_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_enhanced_encryption_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_fast_forward_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_fast_rewind_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_headphones_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_pause_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_play_arrow_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_search_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_skip_next_24.xml +10 -0
- package/android/src/main/res/drawable/ic_baseline_skip_previous_24.xml +10 -0
- package/android/src/main/res/drawable/ic_dashboard_black_24dp.xml +9 -0
- package/android/src/main/res/drawable/ic_fastforward_30.xml +7 -0
- package/android/src/main/res/drawable/ic_info_black_24dp.xml +9 -0
- package/android/src/main/res/drawable/ic_local_library_black_24dp.xml +9 -0
- package/android/src/main/res/drawable/ic_notch.xml +4 -0
- package/android/src/main/res/drawable/ic_outline_add_24.xml +10 -0
- package/android/src/main/res/drawable/ic_outline_format_align_justify_24.xml +10 -0
- package/android/src/main/res/drawable/ic_outline_format_align_left_24.xml +11 -0
- package/android/src/main/res/drawable/ic_outline_format_size_24.xml +10 -0
- package/android/src/main/res/drawable/ic_outline_light_mode_24.xml +10 -0
- package/android/src/main/res/drawable/ic_outline_menu_24.xml +10 -0
- package/android/src/main/res/drawable/ic_outline_remove_24.xml +10 -0
- package/android/src/main/res/drawable/ic_outline_wb_sunny_24.xml +10 -0
- package/android/src/main/res/drawable/ic_rewind_30.xml +7 -0
- package/android/src/main/res/drawable/icon_font_decrease.png +0 -0
- package/android/src/main/res/drawable/icon_font_increase.png +0 -0
- package/android/src/main/res/drawable/icon_overflow.png +0 -0
- package/android/src/main/res/drawable/rbtn_selector.xml +25 -0
- package/android/src/main/res/drawable/rbtn_textcolor_selector.xml +16 -0
- package/android/src/main/res/drawable/repfr.png +0 -0
- package/android/src/main/res/drawable/selector_blue.xml +42 -0
- package/android/src/main/res/drawable/selector_green.xml +42 -0
- package/android/src/main/res/drawable/selector_purple.xml +42 -0
- package/android/src/main/res/drawable/selector_red.xml +42 -0
- package/android/src/main/res/drawable/selector_yellow.xml +41 -0
- package/android/src/main/res/layout/activity_epub.xml +23 -0
- package/android/src/main/res/layout/activity_main.xml +32 -0
- package/android/src/main/res/layout/activity_reader.xml +6 -0
- package/android/src/main/res/layout/add_catalog_dialog.xml +25 -0
- package/android/src/main/res/layout/filter_row.xml +34 -0
- package/android/src/main/res/layout/filter_window.xml +24 -0
- package/android/src/main/res/layout/fragment_about.xml +150 -0
- package/android/src/main/res/layout/fragment_audiobook.xml +151 -0
- package/android/src/main/res/layout/fragment_bookshelf.xml +35 -0
- package/android/src/main/res/layout/fragment_catalog.xml +56 -0
- package/android/src/main/res/layout/fragment_catalog_feed_list.xml +27 -0
- package/android/src/main/res/layout/fragment_drm_management.xml +284 -0
- package/android/src/main/res/layout/fragment_listview.xml +24 -0
- package/android/src/main/res/layout/fragment_outline.xml +31 -0
- package/android/src/main/res/layout/fragment_publication_detail.xml +55 -0
- package/android/src/main/res/layout/fragment_reader.xml +6 -0
- package/android/src/main/res/layout/fragment_screen_reader.xml +143 -0
- package/android/src/main/res/layout/fragment_search.xml +39 -0
- package/android/src/main/res/layout/item_group_view.xml +22 -0
- package/android/src/main/res/layout/item_recycle_book.xml +55 -0
- package/android/src/main/res/layout/item_recycle_bookmark.xml +72 -0
- package/android/src/main/res/layout/item_recycle_button.xml +23 -0
- package/android/src/main/res/layout/item_recycle_catalog.xml +56 -0
- package/android/src/main/res/layout/item_recycle_highlight.xml +85 -0
- package/android/src/main/res/layout/item_recycle_horizontal.xml +45 -0
- package/android/src/main/res/layout/item_recycle_navigation.xml +34 -0
- package/android/src/main/res/layout/item_recycle_search.xml +14 -0
- package/android/src/main/res/layout/item_spinner_days.xml +19 -0
- package/android/src/main/res/layout/my_fragment.xml +13 -0
- package/android/src/main/res/layout/popup_delete.xml +29 -0
- package/android/src/main/res/layout/popup_note.xml +105 -0
- package/android/src/main/res/layout/popup_passphrase.xml +126 -0
- package/android/src/main/res/layout/popup_window_user_settings.xml +576 -0
- package/android/src/main/res/layout/section_header.xml +25 -0
- package/android/src/main/res/layout/view_action_mode.xml +100 -0
- package/android/src/main/res/layout/view_action_mode_reverse.xml +99 -0
- package/android/src/main/res/menu/bottom_nav_menu.xml +19 -0
- package/android/src/main/res/menu/menu_action_mode.xml +26 -0
- package/android/src/main/res/menu/menu_bookmark.xml +18 -0
- package/android/src/main/res/menu/menu_epub.xml +41 -0
- package/android/src/main/res/menu/menu_filter.xml +21 -0
- package/android/src/main/res/menu/menu_reader.xml +33 -0
- package/android/src/main/res/navigation/navigation.xml +46 -0
- package/android/src/main/res/values/arrays.xml +18 -0
- package/android/src/main/res/values/colors.xml +22 -0
- package/android/src/main/res/values/refs.xml +5 -0
- package/android/src/main/res/values/strings.xml +200 -0
- package/android/src/main/res/values/styles.xml +46 -0
- package/android/src/main/res/xml/network_security_config.xml +38 -0
- package/ios/App/AppModule.swift +62 -0
- package/ios/Common/Paths.swift +52 -0
- package/ios/Common/Publication.swift +15 -0
- package/ios/Common/Toolkit/Extensions/AnyPublisher.swift +14 -0
- package/ios/Common/Toolkit/Extensions/Future.swift +16 -0
- package/ios/Common/Toolkit/Extensions/HTTPClient.swift +65 -0
- package/ios/Common/Toolkit/Extensions/Locator.swift +14 -0
- package/ios/Common/Toolkit/Extensions/String.swift +16 -0
- package/ios/Common/Toolkit/Extensions/UIImage.swift +12 -0
- package/ios/Common/Toolkit/Extensions/UIViewController.swift +19 -0
- package/ios/Common/Toolkit/ScreenOrientation.swift +13 -0
- package/ios/Data/Bookmark.swift +23 -0
- package/ios/Reader/Common/ReaderViewController.swift +309 -0
- package/ios/Reader/EPUB/AssociatedColors.swift +27 -0
- package/ios/Reader/EPUB/EPUBModule.swift +38 -0
- package/ios/Reader/EPUB/EPUBViewController.swift +79 -0
- package/ios/Reader/ReaderError.swift +25 -0
- package/ios/Reader/ReaderFormatModule.swift +27 -0
- package/ios/Reader/ReaderModule.swift +84 -0
- package/ios/Reader/ReaderService.swift +126 -0
- package/ios/Readium-Bridging-Header.h +2 -0
- package/ios/Readium.xcodeproj/project.pbxproj +293 -0
- package/ios/ReadiumView.swift +156 -0
- package/ios/ReadiumViewManager.m +10 -0
- package/ios/ReadiumViewManager.swift +9 -0
- package/lib/commonjs/enums/Appearance.js +16 -0
- package/lib/commonjs/enums/Appearance.js.map +1 -0
- package/lib/commonjs/enums/ColumnCount.js +16 -0
- package/lib/commonjs/enums/ColumnCount.js.map +1 -0
- package/lib/commonjs/enums/FontFamily.js +21 -0
- package/lib/commonjs/enums/FontFamily.js.map +1 -0
- package/lib/commonjs/enums/TextAlignment.js +15 -0
- package/lib/commonjs/enums/TextAlignment.js.map +1 -0
- package/lib/commonjs/enums/index.js +58 -0
- package/lib/commonjs/enums/index.js.map +1 -0
- package/lib/commonjs/index.js +105 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/interfaces/Dimensions.js +2 -0
- package/lib/commonjs/interfaces/Dimensions.js.map +1 -0
- package/lib/commonjs/interfaces/File.js +6 -0
- package/lib/commonjs/interfaces/File.js.map +1 -0
- package/lib/commonjs/interfaces/Locator.js +2 -0
- package/lib/commonjs/interfaces/Locator.js.map +1 -0
- package/lib/commonjs/interfaces/Settings.js +71 -0
- package/lib/commonjs/interfaces/Settings.js.map +1 -0
- package/lib/commonjs/interfaces/index.js +58 -0
- package/lib/commonjs/interfaces/index.js.map +1 -0
- package/lib/commonjs/utils/index.js +30 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/module/enums/Appearance.js +9 -0
- package/lib/module/enums/Appearance.js.map +1 -0
- package/lib/module/enums/ColumnCount.js +9 -0
- package/lib/module/enums/ColumnCount.js.map +1 -0
- package/lib/module/enums/FontFamily.js +14 -0
- package/lib/module/enums/FontFamily.js.map +1 -0
- package/lib/module/enums/TextAlignment.js +8 -0
- package/lib/module/enums/TextAlignment.js.map +1 -0
- package/lib/module/enums/index.js +5 -0
- package/lib/module/enums/index.js.map +1 -0
- package/lib/module/index.js +61 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/interfaces/Dimensions.js +2 -0
- package/lib/module/interfaces/Dimensions.js.map +1 -0
- package/lib/module/interfaces/File.js +2 -0
- package/lib/module/interfaces/File.js.map +1 -0
- package/lib/module/interfaces/Locator.js +2 -0
- package/lib/module/interfaces/Locator.js.map +1 -0
- package/lib/module/interfaces/Settings.js +61 -0
- package/lib/module/interfaces/Settings.js.map +1 -0
- package/lib/module/interfaces/index.js +5 -0
- package/lib/module/interfaces/index.js.map +1 -0
- package/lib/module/utils/index.js +17 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/typescript/enums/Appearance.d.ts +11 -0
- package/lib/typescript/enums/ColumnCount.d.ts +5 -0
- package/lib/typescript/enums/FontFamily.d.ts +10 -0
- package/lib/typescript/enums/TextAlignment.d.ts +4 -0
- package/lib/typescript/enums/index.d.ts +4 -0
- package/lib/typescript/index.d.ts +17 -0
- package/lib/typescript/interfaces/Dimensions.d.ts +4 -0
- package/lib/typescript/interfaces/File.d.ts +11 -0
- package/lib/typescript/interfaces/Locator.d.ts +14 -0
- package/lib/typescript/interfaces/Settings.d.ts +40 -0
- package/lib/typescript/interfaces/index.d.ts +4 -0
- package/lib/typescript/utils/index.d.ts +10 -0
- package/package.json +160 -0
- package/react-native-readium.podspec +25 -0
- package/src/enums/Appearance.ts +14 -0
- package/src/enums/ColumnCount.ts +6 -0
- package/src/enums/FontFamily.ts +11 -0
- package/src/enums/TextAlignment.ts +5 -0
- package/src/enums/index.ts +4 -0
- package/src/index.tsx +78 -0
- package/src/interfaces/Dimensions.ts +4 -0
- package/src/interfaces/File.ts +14 -0
- package/src/interfaces/Locator.ts +14 -0
- package/src/interfaces/Settings.ts +85 -0
- package/src/interfaces/index.ts +4 -0
- package/src/utils/index.ts +18 -0
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
|
|
3
|
+
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
4
|
+
android:layout_width="match_parent"
|
|
5
|
+
android:layout_height="match_parent"
|
|
6
|
+
android:padding="10dp">
|
|
7
|
+
|
|
8
|
+
<LinearLayout
|
|
9
|
+
android:layout_width="match_parent"
|
|
10
|
+
android:layout_height="wrap_content"
|
|
11
|
+
android:orientation="vertical">
|
|
12
|
+
|
|
13
|
+
<TextView
|
|
14
|
+
android:layout_width="wrap_content"
|
|
15
|
+
android:layout_height="wrap_content"
|
|
16
|
+
android:padding="10dp"
|
|
17
|
+
android:paddingTop="15dp"
|
|
18
|
+
android:text="@string/drm_information_header"
|
|
19
|
+
android:textSize="20sp"
|
|
20
|
+
android:textStyle="bold"/>
|
|
21
|
+
|
|
22
|
+
<LinearLayout
|
|
23
|
+
android:layout_width="match_parent"
|
|
24
|
+
android:layout_height="wrap_content"
|
|
25
|
+
android:orientation="horizontal"
|
|
26
|
+
android:weightSum="2">
|
|
27
|
+
|
|
28
|
+
<TextView
|
|
29
|
+
android:layout_width="wrap_content"
|
|
30
|
+
android:layout_height="wrap_content"
|
|
31
|
+
android:layout_weight="1"
|
|
32
|
+
android:padding="10dp"
|
|
33
|
+
android:text="@string/drm_label_license_type"
|
|
34
|
+
android:textSize="18sp" />
|
|
35
|
+
|
|
36
|
+
<TextView
|
|
37
|
+
android:id="@+id/drm_value_license_type"
|
|
38
|
+
android:layout_width="wrap_content"
|
|
39
|
+
android:layout_height="wrap_content"
|
|
40
|
+
android:layout_weight="1"
|
|
41
|
+
android:gravity="end"
|
|
42
|
+
android:padding="10dp"
|
|
43
|
+
android:textSize="18sp" />
|
|
44
|
+
|
|
45
|
+
</LinearLayout>
|
|
46
|
+
|
|
47
|
+
<LinearLayout
|
|
48
|
+
android:layout_width="match_parent"
|
|
49
|
+
android:layout_height="wrap_content"
|
|
50
|
+
android:orientation="horizontal"
|
|
51
|
+
android:weightSum="2">
|
|
52
|
+
|
|
53
|
+
<TextView
|
|
54
|
+
android:layout_width="wrap_content"
|
|
55
|
+
android:layout_height="wrap_content"
|
|
56
|
+
android:layout_weight="1"
|
|
57
|
+
android:padding="10dp"
|
|
58
|
+
android:text="@string/drm_label_state"
|
|
59
|
+
android:textSize="18sp" />
|
|
60
|
+
|
|
61
|
+
<TextView
|
|
62
|
+
android:id="@+id/drm_value_state"
|
|
63
|
+
android:layout_width="wrap_content"
|
|
64
|
+
android:layout_height="wrap_content"
|
|
65
|
+
android:layout_weight="1"
|
|
66
|
+
android:gravity="end"
|
|
67
|
+
android:padding="10dp"
|
|
68
|
+
android:textSize="18sp" />
|
|
69
|
+
|
|
70
|
+
</LinearLayout>
|
|
71
|
+
|
|
72
|
+
<LinearLayout
|
|
73
|
+
android:layout_width="match_parent"
|
|
74
|
+
android:layout_height="wrap_content"
|
|
75
|
+
android:orientation="horizontal"
|
|
76
|
+
android:weightSum="2">
|
|
77
|
+
|
|
78
|
+
<TextView
|
|
79
|
+
android:layout_width="wrap_content"
|
|
80
|
+
android:layout_height="wrap_content"
|
|
81
|
+
android:layout_weight="1"
|
|
82
|
+
android:padding="10dp"
|
|
83
|
+
android:text="@string/drm_label_provider"
|
|
84
|
+
android:textSize="18sp" />
|
|
85
|
+
|
|
86
|
+
<TextView
|
|
87
|
+
android:id="@+id/drm_value_provider"
|
|
88
|
+
android:layout_width="wrap_content"
|
|
89
|
+
android:layout_height="wrap_content"
|
|
90
|
+
android:layout_weight="1"
|
|
91
|
+
android:gravity="end"
|
|
92
|
+
android:padding="10dp"
|
|
93
|
+
android:textSize="18sp" />
|
|
94
|
+
|
|
95
|
+
</LinearLayout>
|
|
96
|
+
|
|
97
|
+
<LinearLayout
|
|
98
|
+
android:layout_width="match_parent"
|
|
99
|
+
android:layout_height="wrap_content"
|
|
100
|
+
android:orientation="horizontal"
|
|
101
|
+
android:weightSum="2">
|
|
102
|
+
|
|
103
|
+
<TextView
|
|
104
|
+
android:layout_width="wrap_content"
|
|
105
|
+
android:layout_height="wrap_content"
|
|
106
|
+
android:layout_weight="1"
|
|
107
|
+
android:padding="10dp"
|
|
108
|
+
android:text="@string/drm_label_issued"
|
|
109
|
+
android:textSize="18sp" />
|
|
110
|
+
|
|
111
|
+
<TextView
|
|
112
|
+
android:id="@+id/drm_value_issued"
|
|
113
|
+
android:layout_width="wrap_content"
|
|
114
|
+
android:layout_height="wrap_content"
|
|
115
|
+
android:layout_weight="1"
|
|
116
|
+
android:gravity="end"
|
|
117
|
+
android:padding="10dp"
|
|
118
|
+
android:textSize="18sp" />
|
|
119
|
+
|
|
120
|
+
</LinearLayout>
|
|
121
|
+
|
|
122
|
+
<LinearLayout
|
|
123
|
+
android:layout_width="match_parent"
|
|
124
|
+
android:layout_height="wrap_content"
|
|
125
|
+
android:orientation="horizontal"
|
|
126
|
+
android:weightSum="2">
|
|
127
|
+
|
|
128
|
+
<TextView
|
|
129
|
+
android:layout_width="wrap_content"
|
|
130
|
+
android:layout_height="wrap_content"
|
|
131
|
+
android:layout_weight="1"
|
|
132
|
+
android:padding="10dp"
|
|
133
|
+
android:text="@string/drm_label_updated"
|
|
134
|
+
android:textSize="18sp" />
|
|
135
|
+
|
|
136
|
+
<TextView
|
|
137
|
+
android:id="@+id/drm_value_updated"
|
|
138
|
+
android:layout_width="wrap_content"
|
|
139
|
+
android:layout_height="wrap_content"
|
|
140
|
+
android:layout_weight="1"
|
|
141
|
+
android:gravity="end"
|
|
142
|
+
android:padding="10dp"
|
|
143
|
+
android:textSize="18sp" />
|
|
144
|
+
|
|
145
|
+
</LinearLayout>
|
|
146
|
+
|
|
147
|
+
<TextView
|
|
148
|
+
android:layout_width="wrap_content"
|
|
149
|
+
android:layout_height="wrap_content"
|
|
150
|
+
android:padding="10dp"
|
|
151
|
+
android:paddingTop="15dp"
|
|
152
|
+
android:text="@string/drm_label_rights"
|
|
153
|
+
android:textSize="20sp"
|
|
154
|
+
android:textStyle="bold"/>
|
|
155
|
+
|
|
156
|
+
<LinearLayout
|
|
157
|
+
android:layout_width="match_parent"
|
|
158
|
+
android:layout_height="wrap_content"
|
|
159
|
+
android:orientation="horizontal"
|
|
160
|
+
android:weightSum="2">
|
|
161
|
+
|
|
162
|
+
<TextView
|
|
163
|
+
android:layout_width="wrap_content"
|
|
164
|
+
android:layout_height="wrap_content"
|
|
165
|
+
android:layout_weight="1"
|
|
166
|
+
android:padding="10dp"
|
|
167
|
+
android:text="@string/drm_label_prints_left"
|
|
168
|
+
android:textSize="18sp" />
|
|
169
|
+
|
|
170
|
+
<TextView
|
|
171
|
+
android:id="@+id/drm_value_prints_left"
|
|
172
|
+
android:layout_width="wrap_content"
|
|
173
|
+
android:layout_height="wrap_content"
|
|
174
|
+
android:layout_weight="1"
|
|
175
|
+
android:gravity="end"
|
|
176
|
+
android:padding="10dp"
|
|
177
|
+
android:textSize="18sp" />
|
|
178
|
+
|
|
179
|
+
</LinearLayout>
|
|
180
|
+
|
|
181
|
+
<LinearLayout
|
|
182
|
+
android:layout_width="match_parent"
|
|
183
|
+
android:layout_height="wrap_content"
|
|
184
|
+
android:orientation="horizontal"
|
|
185
|
+
android:weightSum="2">
|
|
186
|
+
|
|
187
|
+
<TextView
|
|
188
|
+
android:layout_width="wrap_content"
|
|
189
|
+
android:layout_height="wrap_content"
|
|
190
|
+
android:layout_weight="1"
|
|
191
|
+
android:padding="10dp"
|
|
192
|
+
android:text="@string/drm_label_copies_left"
|
|
193
|
+
android:textSize="18sp" />
|
|
194
|
+
|
|
195
|
+
<TextView
|
|
196
|
+
android:id="@+id/drm_value_copies_left"
|
|
197
|
+
android:layout_width="wrap_content"
|
|
198
|
+
android:layout_height="wrap_content"
|
|
199
|
+
android:layout_weight="1"
|
|
200
|
+
android:gravity="end"
|
|
201
|
+
android:padding="10dp"
|
|
202
|
+
android:textSize="18sp" />
|
|
203
|
+
|
|
204
|
+
</LinearLayout>
|
|
205
|
+
|
|
206
|
+
<LinearLayout
|
|
207
|
+
android:id="@+id/drm_start"
|
|
208
|
+
android:layout_width="match_parent"
|
|
209
|
+
android:layout_height="wrap_content"
|
|
210
|
+
android:orientation="horizontal"
|
|
211
|
+
android:weightSum="2">
|
|
212
|
+
|
|
213
|
+
<TextView
|
|
214
|
+
android:layout_width="wrap_content"
|
|
215
|
+
android:layout_height="wrap_content"
|
|
216
|
+
android:layout_weight="1"
|
|
217
|
+
android:padding="10dp"
|
|
218
|
+
android:text="@string/drm_label_start"
|
|
219
|
+
android:textSize="18sp" />
|
|
220
|
+
|
|
221
|
+
<TextView
|
|
222
|
+
android:id="@+id/drm_value_start"
|
|
223
|
+
android:layout_width="wrap_content"
|
|
224
|
+
android:layout_height="wrap_content"
|
|
225
|
+
android:layout_weight="1"
|
|
226
|
+
android:gravity="end"
|
|
227
|
+
android:padding="10dp"
|
|
228
|
+
android:textSize="18sp" />
|
|
229
|
+
|
|
230
|
+
</LinearLayout>
|
|
231
|
+
|
|
232
|
+
<LinearLayout
|
|
233
|
+
android:id="@+id/drm_end"
|
|
234
|
+
android:layout_width="match_parent"
|
|
235
|
+
android:layout_height="wrap_content"
|
|
236
|
+
android:orientation="horizontal"
|
|
237
|
+
android:weightSum="2">
|
|
238
|
+
|
|
239
|
+
<TextView
|
|
240
|
+
android:layout_width="wrap_content"
|
|
241
|
+
android:layout_height="wrap_content"
|
|
242
|
+
android:layout_weight="1"
|
|
243
|
+
android:padding="10dp"
|
|
244
|
+
android:text="@string/drm_label_end"
|
|
245
|
+
android:textSize="18sp" />
|
|
246
|
+
|
|
247
|
+
<TextView
|
|
248
|
+
android:id="@+id/drm_value_end"
|
|
249
|
+
android:layout_width="wrap_content"
|
|
250
|
+
android:layout_height="wrap_content"
|
|
251
|
+
android:layout_weight="1"
|
|
252
|
+
android:gravity="end"
|
|
253
|
+
android:padding="10dp"
|
|
254
|
+
android:textSize="18sp" />
|
|
255
|
+
|
|
256
|
+
</LinearLayout>
|
|
257
|
+
|
|
258
|
+
<TextView
|
|
259
|
+
android:id="@+id/drm_label_actions"
|
|
260
|
+
android:layout_width="wrap_content"
|
|
261
|
+
android:layout_height="wrap_content"
|
|
262
|
+
android:padding="10dp"
|
|
263
|
+
android:paddingTop="15dp"
|
|
264
|
+
android:text="@string/drm_label_actions"
|
|
265
|
+
android:textSize="20sp"
|
|
266
|
+
android:textStyle="bold"/>
|
|
267
|
+
|
|
268
|
+
<Button
|
|
269
|
+
android:id="@+id/drm_button_renew"
|
|
270
|
+
android:layout_width="match_parent"
|
|
271
|
+
android:layout_height="wrap_content"
|
|
272
|
+
android:layout_weight="1"
|
|
273
|
+
android:text="@string/drm_label_renew" />
|
|
274
|
+
|
|
275
|
+
<Button
|
|
276
|
+
android:id="@+id/drm_button_return"
|
|
277
|
+
android:layout_width="match_parent"
|
|
278
|
+
android:layout_height="wrap_content"
|
|
279
|
+
android:layout_weight="1"
|
|
280
|
+
android:text="@string/drm_label_return" />
|
|
281
|
+
|
|
282
|
+
</LinearLayout>
|
|
283
|
+
|
|
284
|
+
</ScrollView>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!--
|
|
2
|
+
~ Module: r2-testapp-kotlin
|
|
3
|
+
~ Developers: Aferdita Muriqi, Clément Baumann, Mostapha Idoubihi, Paul Stoica
|
|
4
|
+
~
|
|
5
|
+
~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
|
|
6
|
+
~ Licensed to the Readium Foundation under one or more contributor license agreements.
|
|
7
|
+
~ Use of this source code is governed by a BSD-style license which is detailed in the
|
|
8
|
+
~ LICENSE file present in the project repository where this source code is maintained.
|
|
9
|
+
-->
|
|
10
|
+
|
|
11
|
+
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
12
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
13
|
+
android:id="@android:id/tabcontent"
|
|
14
|
+
android:layout_width="match_parent"
|
|
15
|
+
android:layout_height="wrap_content">
|
|
16
|
+
|
|
17
|
+
<androidx.recyclerview.widget.RecyclerView
|
|
18
|
+
android:id="@+id/list_view"
|
|
19
|
+
android:layout_width="match_parent"
|
|
20
|
+
android:layout_height="match_parent"
|
|
21
|
+
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
|
|
22
|
+
|
|
23
|
+
</FrameLayout>
|
|
24
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!--
|
|
2
|
+
~ Module: r2-testapp-kotlin
|
|
3
|
+
~ Developers: Aferdita Muriqi, Clément Baumann, Mostapha Idoubihi, Paul Stoica
|
|
4
|
+
~
|
|
5
|
+
~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
|
|
6
|
+
~ Licensed to the Readium Foundation under one or more contributor license agreements.
|
|
7
|
+
~ Use of this source code is governed by a BSD-style license which is detailed in the
|
|
8
|
+
~ LICENSE file present in the project repository where this source code is maintained.
|
|
9
|
+
-->
|
|
10
|
+
|
|
11
|
+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
12
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
13
|
+
android:layout_width="match_parent"
|
|
14
|
+
android:layout_height="match_parent"
|
|
15
|
+
android:layout_marginTop="?attr/actionBarSize"
|
|
16
|
+
android:orientation="vertical">
|
|
17
|
+
|
|
18
|
+
<com.google.android.material.tabs.TabLayout
|
|
19
|
+
android:id="@+id/outline_tab_layout"
|
|
20
|
+
android:layout_width="match_parent"
|
|
21
|
+
android:layout_height="wrap_content"
|
|
22
|
+
app:tabMode="scrollable"
|
|
23
|
+
app:tabGravity="start"/>
|
|
24
|
+
|
|
25
|
+
<androidx.viewpager2.widget.ViewPager2
|
|
26
|
+
android:id="@+id/outline_pager"
|
|
27
|
+
android:layout_width="match_parent"
|
|
28
|
+
android:layout_height="0dp"
|
|
29
|
+
android:layout_weight="1" />
|
|
30
|
+
|
|
31
|
+
</LinearLayout>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
5
|
+
xmlns:tools="http://schemas.android.com/tools"
|
|
6
|
+
android:layout_width="match_parent"
|
|
7
|
+
android:layout_height="match_parent">
|
|
8
|
+
|
|
9
|
+
<androidx.core.widget.NestedScrollView
|
|
10
|
+
android:layout_width="match_parent"
|
|
11
|
+
android:layout_height="match_parent"
|
|
12
|
+
android:fillViewport="true">
|
|
13
|
+
|
|
14
|
+
<LinearLayout
|
|
15
|
+
android:layout_width="match_parent"
|
|
16
|
+
android:layout_height="match_parent"
|
|
17
|
+
android:orientation="vertical"
|
|
18
|
+
android:padding="10dp"
|
|
19
|
+
tools:context=".catalogs.PublicationDetailFragment">
|
|
20
|
+
|
|
21
|
+
<ImageView
|
|
22
|
+
android:id="@+id/catalogDetail_coverImage"
|
|
23
|
+
android:layout_width="match_parent"
|
|
24
|
+
android:layout_height="400dp"
|
|
25
|
+
android:contentDescription="@string/cover_image" />
|
|
26
|
+
|
|
27
|
+
<TextView
|
|
28
|
+
android:id="@+id/catalogDetail_titleText"
|
|
29
|
+
android:layout_width="match_parent"
|
|
30
|
+
android:layout_height="wrap_content"
|
|
31
|
+
android:textSize="24sp" />
|
|
32
|
+
|
|
33
|
+
<TextView
|
|
34
|
+
android:id="@+id/catalogDetail_descriptionText"
|
|
35
|
+
android:layout_width="match_parent"
|
|
36
|
+
android:layout_height="wrap_content" />
|
|
37
|
+
|
|
38
|
+
<Button
|
|
39
|
+
android:id="@+id/catalogDetail_downloadButton"
|
|
40
|
+
android:layout_width="wrap_content"
|
|
41
|
+
android:layout_height="wrap_content"
|
|
42
|
+
android:text="@string/catalog_detail_download_button" />
|
|
43
|
+
</LinearLayout>
|
|
44
|
+
|
|
45
|
+
</androidx.core.widget.NestedScrollView>
|
|
46
|
+
|
|
47
|
+
<ProgressBar
|
|
48
|
+
android:id="@+id/catalogDetail_progressBar"
|
|
49
|
+
style="?android:attr/progressBarStyle"
|
|
50
|
+
android:layout_width="wrap_content"
|
|
51
|
+
android:layout_height="wrap_content"
|
|
52
|
+
android:layout_gravity="center"
|
|
53
|
+
android:background="@color/white"
|
|
54
|
+
android:visibility="gone" />
|
|
55
|
+
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!--
|
|
2
|
+
~ Copyright 2021 Readium Foundation. All rights reserved.
|
|
3
|
+
~ Use of this source code is governed by the BSD-style license
|
|
4
|
+
~ available in the top-level LICENSE file of the project.
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
<androidx.constraintlayout.widget.ConstraintLayout
|
|
8
|
+
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
9
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
10
|
+
android:id="@+id/tts_overlay"
|
|
11
|
+
android:layout_width="match_parent"
|
|
12
|
+
android:layout_height="match_parent"
|
|
13
|
+
android:layout_marginTop="?attr/actionBarSize"
|
|
14
|
+
android:background="@color/colorAccent">
|
|
15
|
+
|
|
16
|
+
<androidx.constraintlayout.widget.ConstraintLayout
|
|
17
|
+
android:id="@+id/timeline"
|
|
18
|
+
android:layout_width="match_parent"
|
|
19
|
+
android:layout_height="wrap_content"
|
|
20
|
+
android:background="@color/colorPrimaryDark"
|
|
21
|
+
android:orientation="horizontal"
|
|
22
|
+
app:layout_constraintBottom_toTopOf="@+id/tts_textView"
|
|
23
|
+
app:layout_constraintEnd_toEndOf="parent"
|
|
24
|
+
app:layout_constraintStart_toStartOf="parent"
|
|
25
|
+
app:layout_constraintTop_toTopOf="parent">
|
|
26
|
+
|
|
27
|
+
<TextView
|
|
28
|
+
android:id="@+id/titleView"
|
|
29
|
+
android:layout_width="0dp"
|
|
30
|
+
android:layout_height="40dp"
|
|
31
|
+
android:layout_marginStart="8dp"
|
|
32
|
+
android:layout_marginTop="8dp"
|
|
33
|
+
android:layout_marginEnd="8dp"
|
|
34
|
+
android:layout_marginBottom="8dp"
|
|
35
|
+
android:ellipsize="end"
|
|
36
|
+
android:gravity="center"
|
|
37
|
+
android:maxLines="1"
|
|
38
|
+
android:scrollHorizontally="true"
|
|
39
|
+
android:text="@string/chapter"
|
|
40
|
+
android:textColor="@android:color/white"
|
|
41
|
+
android:textSize="18sp"
|
|
42
|
+
app:layout_constraintBottom_toBottomOf="parent"
|
|
43
|
+
app:layout_constraintEnd_toEndOf="parent"
|
|
44
|
+
app:layout_constraintStart_toStartOf="parent"
|
|
45
|
+
app:layout_constraintTop_toTopOf="parent" />
|
|
46
|
+
|
|
47
|
+
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
48
|
+
|
|
49
|
+
<TextView
|
|
50
|
+
android:id="@+id/tts_textView"
|
|
51
|
+
android:layout_width="0dp"
|
|
52
|
+
android:layout_height="0dp"
|
|
53
|
+
android:layout_centerHorizontal="true"
|
|
54
|
+
android:layout_marginStart="8dp"
|
|
55
|
+
android:layout_marginEnd="8dp"
|
|
56
|
+
android:layout_marginBottom="8dp"
|
|
57
|
+
android:adjustViewBounds="true"
|
|
58
|
+
android:cropToPadding="true"
|
|
59
|
+
android:gravity="center"
|
|
60
|
+
android:scaleType="fitXY"
|
|
61
|
+
android:textAlignment="center"
|
|
62
|
+
android:textColor="@color/colorPrimaryDark"
|
|
63
|
+
android:textSize="24sp"
|
|
64
|
+
android:textStyle="italic"
|
|
65
|
+
|
|
66
|
+
app:layout_constraintBottom_toTopOf="@+id/controls"
|
|
67
|
+
app:layout_constraintEnd_toEndOf="parent"
|
|
68
|
+
app:layout_constraintStart_toStartOf="parent"
|
|
69
|
+
app:layout_constraintTop_toBottomOf="@+id/timeline" />
|
|
70
|
+
|
|
71
|
+
<LinearLayout
|
|
72
|
+
android:id="@+id/controls"
|
|
73
|
+
android:layout_width="0dp"
|
|
74
|
+
android:layout_height="70dp"
|
|
75
|
+
android:background="@color/colorPrimaryDark"
|
|
76
|
+
android:gravity="center_vertical|center_horizontal"
|
|
77
|
+
android:orientation="horizontal"
|
|
78
|
+
android:weightSum="5"
|
|
79
|
+
app:layout_constraintBottom_toBottomOf="parent"
|
|
80
|
+
app:layout_constraintEnd_toEndOf="parent"
|
|
81
|
+
app:layout_constraintStart_toStartOf="parent">
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
<ImageButton
|
|
85
|
+
android:id="@+id/prev_chapter"
|
|
86
|
+
android:layout_width="48dp"
|
|
87
|
+
android:layout_height="48dp"
|
|
88
|
+
android:layout_weight="1"
|
|
89
|
+
android:background="@android:color/transparent"
|
|
90
|
+
android:contentDescription="@string/previous_chapter"
|
|
91
|
+
android:scaleType="fitCenter"
|
|
92
|
+
android:src="@drawable/ic_baseline_skip_previous_24"
|
|
93
|
+
app:tint="@android:color/white" />
|
|
94
|
+
|
|
95
|
+
<ImageButton
|
|
96
|
+
android:id="@+id/fast_back"
|
|
97
|
+
android:layout_width="48dp"
|
|
98
|
+
android:layout_height="48dp"
|
|
99
|
+
android:layout_weight="1"
|
|
100
|
+
android:background="@android:color/transparent"
|
|
101
|
+
android:contentDescription="@string/previous_sentence"
|
|
102
|
+
android:scaleType="fitCenter"
|
|
103
|
+
android:src="@drawable/ic_baseline_fast_rewind_24"
|
|
104
|
+
app:tint="@android:color/white" />
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
<ImageButton
|
|
108
|
+
android:id="@+id/play_pause"
|
|
109
|
+
android:layout_width="50dp"
|
|
110
|
+
android:layout_height="50dp"
|
|
111
|
+
android:layout_weight="1"
|
|
112
|
+
android:background="@android:color/transparent"
|
|
113
|
+
android:contentDescription="@string/play_and_pause"
|
|
114
|
+
android:scaleType="fitCenter"
|
|
115
|
+
android:src="@drawable/ic_baseline_play_arrow_24"
|
|
116
|
+
app:tint="@android:color/white" />
|
|
117
|
+
|
|
118
|
+
<ImageButton
|
|
119
|
+
android:id="@+id/fast_forward"
|
|
120
|
+
android:layout_width="48dp"
|
|
121
|
+
android:layout_height="48dp"
|
|
122
|
+
android:layout_weight="1"
|
|
123
|
+
android:background="@android:color/transparent"
|
|
124
|
+
android:contentDescription="@string/next_sentence"
|
|
125
|
+
android:scaleType="fitCenter"
|
|
126
|
+
android:src="@drawable/ic_baseline_fast_forward_24"
|
|
127
|
+
app:tint="@android:color/white" />
|
|
128
|
+
|
|
129
|
+
<ImageButton
|
|
130
|
+
android:id="@+id/next_chapter"
|
|
131
|
+
android:layout_width="48dp"
|
|
132
|
+
android:layout_height="48dp"
|
|
133
|
+
android:layout_weight="1"
|
|
134
|
+
android:background="@android:color/transparent"
|
|
135
|
+
android:contentDescription="@string/next_chapter"
|
|
136
|
+
android:scaleType="fitCenter"
|
|
137
|
+
android:src="@drawable/ic_baseline_skip_next_24"
|
|
138
|
+
app:tint="@android:color/white" />
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
</LinearLayout>
|
|
142
|
+
|
|
143
|
+
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!--
|
|
2
|
+
~ Module: r2-navigator-kotlin
|
|
3
|
+
~ Developers: Aferdita Muriqi, Clément Baumann
|
|
4
|
+
~
|
|
5
|
+
~ Copyright (c) 2018. Readium Foundation. All rights reserved.
|
|
6
|
+
~ Use of this source code is governed by a BSD-style license which is detailed in the
|
|
7
|
+
~ LICENSE file present in the project repository where this source code is maintained.
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
<androidx.constraintlayout.widget.ConstraintLayout
|
|
11
|
+
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
12
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
13
|
+
android:id="@+id/search_overlay"
|
|
14
|
+
android:layout_width="match_parent"
|
|
15
|
+
android:layout_height="match_parent"
|
|
16
|
+
android:background="@color/colorAccent">
|
|
17
|
+
|
|
18
|
+
<androidx.recyclerview.widget.RecyclerView
|
|
19
|
+
android:id="@+id/search_recyclerView"
|
|
20
|
+
android:layout_width="0dp"
|
|
21
|
+
android:layout_height="0dp"
|
|
22
|
+
android:background="@android:color/white"
|
|
23
|
+
app:layout_constraintBottom_toBottomOf="@id/search_overlay"
|
|
24
|
+
app:layout_constraintEnd_toEndOf="@id/search_overlay"
|
|
25
|
+
app:layout_constraintStart_toStartOf="@id/search_overlay"
|
|
26
|
+
app:layout_constraintTop_toTopOf="@id/search_overlay" />
|
|
27
|
+
|
|
28
|
+
<TextView
|
|
29
|
+
android:id="@+id/noResultLabel"
|
|
30
|
+
android:layout_width="wrap_content"
|
|
31
|
+
android:layout_height="wrap_content"
|
|
32
|
+
android:layout_marginTop="24dp"
|
|
33
|
+
android:text="@string/no_result"
|
|
34
|
+
app:layout_constraintEnd_toEndOf="parent"
|
|
35
|
+
app:layout_constraintStart_toStartOf="parent"
|
|
36
|
+
app:layout_constraintTop_toTopOf="parent"
|
|
37
|
+
android:visibility="gone"/>
|
|
38
|
+
|
|
39
|
+
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
xmlns:tools="http://schemas.android.com/tools"
|
|
4
|
+
android:layout_width="match_parent"
|
|
5
|
+
android:layout_height="wrap_content"
|
|
6
|
+
tools:context=".catalogs.CatalogFeedListFragment">
|
|
7
|
+
|
|
8
|
+
<include
|
|
9
|
+
android:id="@+id/groupView_groupPublications"
|
|
10
|
+
layout="@layout/item_recycle_horizontal" />
|
|
11
|
+
|
|
12
|
+
<androidx.recyclerview.widget.RecyclerView
|
|
13
|
+
android:id="@+id/groupView_groupLinks"
|
|
14
|
+
android:name="com.reactnativereadium.opds"
|
|
15
|
+
android:layout_width="match_parent"
|
|
16
|
+
android:layout_height="wrap_content"
|
|
17
|
+
android:layout_marginLeft="16dp"
|
|
18
|
+
android:layout_marginRight="16dp"
|
|
19
|
+
tools:context="com.reactnativereadium.opds"
|
|
20
|
+
tools:listitem="@layout/item_recycle_button" />
|
|
21
|
+
|
|
22
|
+
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
~ Module: r2-testapp-kotlin
|
|
3
|
+
~ Developers: Aferdita Muriqi, Clément Baumann
|
|
4
|
+
~
|
|
5
|
+
~ Copyright (c) 2018. European Digital Reading Lab. All rights reserved.
|
|
6
|
+
~ Licensed to the Readium Foundation under one or more contributor license agreements.
|
|
7
|
+
~ Use of this source code is governed by a BSD-style license which is detailed in the
|
|
8
|
+
~ LICENSE file present in the project repository where this source code is maintained.
|
|
9
|
+
-->
|
|
10
|
+
|
|
11
|
+
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
12
|
+
xmlns:tools="http://schemas.android.com/tools"
|
|
13
|
+
android:id="@+id/bookshelf_cardView"
|
|
14
|
+
android:layout_width="120dp"
|
|
15
|
+
android:layout_height="wrap_content"
|
|
16
|
+
android:layout_margin="5dp">
|
|
17
|
+
|
|
18
|
+
<LinearLayout
|
|
19
|
+
android:layout_width="match_parent"
|
|
20
|
+
android:layout_height="200dp"
|
|
21
|
+
android:orientation="vertical"
|
|
22
|
+
android:weightSum="4">
|
|
23
|
+
|
|
24
|
+
<FrameLayout
|
|
25
|
+
android:layout_width="match_parent"
|
|
26
|
+
android:layout_height="match_parent"
|
|
27
|
+
tools:ignore="UselessParent">
|
|
28
|
+
|
|
29
|
+
<ImageView
|
|
30
|
+
android:id="@+id/bookshelf_coverImage"
|
|
31
|
+
android:layout_width="match_parent"
|
|
32
|
+
android:layout_height="match_parent"
|
|
33
|
+
android:contentDescription="@string/cover_image" />
|
|
34
|
+
|
|
35
|
+
<LinearLayout
|
|
36
|
+
android:layout_width="match_parent"
|
|
37
|
+
android:layout_height="wrap_content"
|
|
38
|
+
android:layout_gravity="start|bottom"
|
|
39
|
+
android:background="@android:drawable/screen_background_dark_transparent"
|
|
40
|
+
android:orientation="vertical">
|
|
41
|
+
|
|
42
|
+
<TextView
|
|
43
|
+
android:id="@+id/bookshelf_titleText"
|
|
44
|
+
android:layout_width="match_parent"
|
|
45
|
+
android:layout_height="wrap_content"
|
|
46
|
+
android:padding="16dp"
|
|
47
|
+
android:textColor="#FFFFFF"
|
|
48
|
+
android:textSize="12sp" />
|
|
49
|
+
</LinearLayout>
|
|
50
|
+
|
|
51
|
+
</FrameLayout>
|
|
52
|
+
|
|
53
|
+
</LinearLayout>
|
|
54
|
+
|
|
55
|
+
</androidx.cardview.widget.CardView>
|