diff --git a/demo-snippets/package.json b/demo-snippets/package.json
index 67a7434..e7c2d4d 100644
--- a/demo-snippets/package.json
+++ b/demo-snippets/package.json
@@ -3,6 +3,7 @@
"private": true,
"version": "0.0.1",
"dependencies": {
- "@nativescript-community/ui-pager": "link:../packages/ui-pager"
+ "@nativescript-community/ui-pager": "link:../packages/ui-pager",
+ "@nativescript-community/ui-pager-indicator": "link:../packages/ui-pager-indicator"
}
}
diff --git a/demo-snippets/vue/Indicator.vue b/demo-snippets/vue/Indicator.vue
index 974bb20..f3be2f7 100644
--- a/demo-snippets/vue/Indicator.vue
+++ b/demo-snippets/vue/Indicator.vue
@@ -5,16 +5,17 @@
-
-
+
+
-
-
+
+
+
diff --git a/demo-snippets/vue/install.ts b/demo-snippets/vue/install.ts
index 58a69cb..59b608c 100644
--- a/demo-snippets/vue/install.ts
+++ b/demo-snippets/vue/install.ts
@@ -8,6 +8,7 @@ import RenderIssue from './RenderIssue.vue';
export function installPlugin() {
Vue.use(Pager);
+ Vue.registerElement('PagerIndicator', () => require('@nativescript-community/ui-pager-indicator').PagerIndicator);
}
export const demos = [
diff --git a/package.json b/package.json
index 42de533..6840356 100644
--- a/package.json
+++ b/package.json
@@ -51,7 +51,8 @@
]
},
"dependencies": {
- "@nativescript-community/plugin-seed-tools": "file:tools"
+ "@nativescript-community/plugin-seed-tools": "file:tools",
+ "@nativescript-community/template-snippet": "file:demo-snippets"
},
"ntl": {
"descriptions": {
diff --git a/packages/ui-pager-indicator/.npmignore b/packages/ui-pager-indicator/.npmignore
new file mode 100644
index 0000000..d40b4c4
--- /dev/null
+++ b/packages/ui-pager-indicator/.npmignore
@@ -0,0 +1,8 @@
+.DS_Store
+tsconfig.json
+node_modules/
+pnpm-global/
+CHANGELOG.md
+blueprint.md
+*.aar
+*.jar
\ No newline at end of file
diff --git a/packages/ui-pager-indicator/CHANGELOG.md b/packages/ui-pager-indicator/CHANGELOG.md
new file mode 100644
index 0000000..5e4889f
--- /dev/null
+++ b/packages/ui-pager-indicator/CHANGELOG.md
@@ -0,0 +1,358 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [13.0.44](https://github.com/nativescript-community/ui-pager/compare/v13.0.43...v13.0.44) (2022-12-01)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.43](https://github.com/nativescript-community/ui-pager/compare/v13.0.42...v13.0.43) (2022-08-31)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.42](https://github.com/nativescript-community/ui-pager/compare/v13.0.40...v13.0.42) (2022-07-28)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.41](https://github.com/nativescript-community/ui-pager/compare/v13.0.40...v13.0.41) (2022-07-28)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.40](https://github.com/nativescript-community/ui-pager/compare/v13.0.39...v13.0.40) (2022-07-17)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.39](https://github.com/nativescript-community/ui-pager/compare/v13.0.38...v13.0.39) (2022-07-15)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.38](https://github.com/nativescript-community/ui-pager/compare/v13.0.37...v13.0.38) (2022-07-15)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.37](https://github.com/nativescript-community/ui-pager/compare/v13.0.36...v13.0.37) (2022-05-17)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.36](https://github.com/nativescript-community/ui-pager/compare/v13.0.35...v13.0.36) (2022-05-17)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.35](https://github.com/nativescript-community/ui-pager/compare/v13.0.34...v13.0.35) (2022-03-15)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.34](https://github.com/nativescript-community/ui-pager/compare/v13.0.33...v13.0.34) (2022-01-19)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.33](https://github.com/nativescript-community/ui-pager/compare/v13.0.32...v13.0.33) (2021-11-17)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.32](https://github.com/nativescript-community/ui-pager/compare/v13.0.31...v13.0.32) (2021-11-15)
+
+
+### Bug Fixes
+
+* missing platforms directory ([44bff68](https://github.com/nativescript-community/ui-pager/commit/44bff68074855d14032201fe9198e1519ab22ca0))
+
+
+
+
+
+## [13.0.31](https://github.com/nativescript-community/ui-pager/compare/v13.0.30...v13.0.31) (2021-10-22)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.30](https://github.com/nativescript-community/ui-pager/compare/v13.0.29...v13.0.30) (2021-09-29)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.29](https://github.com/nativescript-community/ui-pager/compare/v13.0.28...v13.0.29) (2021-09-17)
+
+
+### Bug Fixes
+
+* **android:** allow to change appcompat version ([8925202](https://github.com/nativescript-community/ui-pager/commit/8925202f1787054e1791f7ebfdf82b6f8d078746))
+
+
+
+
+
+## [13.0.28](https://github.com/nativescript-community/ui-pager/compare/v13.0.27...v13.0.28) (2021-09-17)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.27](https://github.com/nativescript-community/ui-pager/compare/v13.0.26...v13.0.27) (2021-08-19)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.26](https://github.com/nativescript-community/ui-pager/compare/v13.0.25...v13.0.26) (2021-08-08)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.25](https://github.com/nativescript-community/ui-pager/compare/v13.0.24...v13.0.25) (2021-08-05)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.24](https://github.com/nativescript-community/ui-pager/compare/v13.0.23...v13.0.24) (2021-08-04)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.23](https://github.com/nativescript-community/ui-pager/compare/v13.0.22...v13.0.23) (2021-07-26)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.22](https://github.com/nativescript-community/ui-pager/compare/v13.0.21...v13.0.22) (2021-07-26)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.21](https://github.com/nativescript-community/ui-pager/compare/v13.0.20...v13.0.21) (2021-05-07)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.20](https://github.com/nativescript-community/ui-pager/compare/v13.0.19...v13.0.20) (2021-05-06)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.19](https://github.com/nativescript-community/ui-pager/compare/v13.0.18...v13.0.19) (2021-04-08)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.18](https://github.com/nativescript-community/ui-pager/compare/v13.0.17...v13.0.18) (2021-03-31)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.17](https://github.com/nativescript-community/ui-pager/compare/v13.0.16...v13.0.17) (2021-03-25)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.16](https://github.com/nativescript-community/ui-pager/compare/v13.0.15...v13.0.16) (2021-03-19)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.15](https://github.com/nativescript-community/ui-pager/compare/v13.0.14...v13.0.15) (2021-03-18)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.14](https://github.com/nativescript-community/ui-pager/compare/v13.0.13...v13.0.14) (2021-03-16)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.13](https://github.com/nativescript-community/ui-pager/compare/v13.0.12...v13.0.13) (2021-03-12)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.12](https://github.com/nativescript-community/ui-pager/compare/v13.0.11...v13.0.12) (2021-03-08)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.11](https://github.com/nativescript-community/ui-pager/compare/v13.0.10...v13.0.11) (2021-02-16)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.10](https://github.com/nativescript-community/ui-pager/compare/v13.0.9...v13.0.10) (2021-02-10)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.9](https://github.com/nativescript-community/ui-pager/compare/v13.0.8...v13.0.9) (2021-02-10)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.8](https://github.com/nativescript-community/ui-pager/compare/v13.0.7...v13.0.8) (2021-02-09)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.7](https://github.com/nativescript-community/ui-pager/compare/v13.0.6...v13.0.7) (2021-02-08)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.6](https://github.com/nativescript-community/ui-pager/compare/v13.0.5...v13.0.6) (2021-01-23)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.5](https://github.com/nativescript-community/ui-pager/compare/v13.0.4...v13.0.5) (2021-01-22)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.4](https://github.com/nativescript-community/ui-pager/compare/v13.0.3...v13.0.4) (2021-01-21)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.3](https://github.com/nativescript-community/ui-pager/compare/v13.0.2...v13.0.3) (2020-12-07)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.2](https://github.com/nativescript-community/ui-pager/compare/v13.0.1...v13.0.2) (2020-11-29)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
+
+
+
+
+
+## [13.0.1](https://github.com/nativescript-community/ui-pager/compare/v11.0.11...v13.0.1) (2020-11-27)
+
+**Note:** Version bump only for package @nativescript-community/ui-pager
diff --git a/packages/ui-pager-indicator/README.md b/packages/ui-pager-indicator/README.md
new file mode 100644
index 0000000..c34f50d
--- /dev/null
+++ b/packages/ui-pager-indicator/README.md
@@ -0,0 +1,258 @@
+
+
+
@nativescript-community/ui-pager-indicator
+
+
+
+
+
+
+ A NativeScript Indicator for Pager / Carousel /CollectionView
+
+
+
+
+
+
+|
|
|
+| --- | ----------- |
+| iOS Demo | Android Demo |
+
+
+[](#table-of-contents)
+
+## Table of Contents
+
+* [Installation](#installation)
+* [API](#api)
+ * [Properties](#properties)
+* [Usage in Angular](#usage-in-angular)
+ * [Examples](#examples)
+* [Usage in React](#usage-in-react)
+ * [Examples](#examples-1)
+* [Usage in Svelte](#usage-in-svelte)
+ * [Examples](#examples-2)
+* [Usage in Vue](#usage-in-vue)
+ * [Examples](#examples-3)
+* [Demos and Development](#demos-and-development)
+ * [Repo Setup](#repo-setup)
+ * [Build](#build)
+ * [Demos](#demos)
+* [Contributing](#contributing)
+ * [Update repo ](#update-repo-)
+ * [Publish](#publish)
+* [Questions](#questions)
+
+
+[](#installation)
+
+## Installation
+Run the following command from the root of your project:
+
+`ns plugin add @nativescript-community/ui-pager-indicator`
+
+
+[](#api)
+
+## API
+
+### Properties
+
+| Property | Type |
+| - | - |
+| items | `array` or `ItemsSource`
+| selectedIndex | `number` |
+| canGoRight | `boolean` |
+| canGoLeft | `boolean` |
+| spacing | `PercentLengthType` |
+| peaking | `PercentLengthType` |
+| perPage | `number` |
+| indicator | `string` ('disable', 'none', 'worm', 'fill', 'swap', 'thin_worm', 'flat')|
+| circularMode | `boolean` |
+| autoPlayDelay | `number` |
+| autoPlay | `boolean` |
+| orientation | `string` ('horizontal' or 'vertical') |
+| autoPlay | `boolean` |
+| disableSwipe | `boolean` |
+| showIndicator | `boolean` |
+| indicatorColor | `Color` or `string` |
+| indicatorSelectedColor | `Color` or `string` |
+
+
+```
+Pager for NativeScript supports the core ObservableArray module part of the core NativeScript modules collection. Using an ObservableArray instance as a source for Pager will ensure that changes in the source collection will be automatically taken care of by the control.
+```
+
+
+
+[](#usage-in-angular)
+
+## Usage in Angular
+
+Import the module into your project.
+
+```typescript
+import { PagerModule } from "@nativescript-community/ui-pager/angular";
+
+@NgModule({
+ imports: [
+ PagerModule,
+ ],
+})
+```
+
+### Examples
+
+- [Static Pager](demo-snippets/ng/static-pager)
+ - A simple pager example using static content.
+- [Basic Pager](demo-snippets/ng/basic-pager)
+ - A simple pager example using dynamic content.
+
+
+[](#usage-in-react)
+
+## Usage in React
+
+Import the module into your project.
+
+```typescript
+import { Pager } from '@nativescript-community/ui-pager/react';
+```
+
+### Examples
+
+- [Basic Pager](demo-snippets/react/BasicPager.tsx)
+ - A simple pager example using dynamic content.
+
+[](#usage-in-svelte)
+
+## Usage in Svelte
+
+Import the module into your project.
+
+```typescript
+import { registerNativeViewElement } from 'svelte-native/dom';
+
+import PagerElement from '@nativescript-community/ui-pager/svelte';
+import { PagerItem } from '@nativescript-community/ui-pager';
+
+PagerElement.register();
+registerNativeViewElement('pageritem', () => PagerItem);
+```
+
+### Examples
+
+- [Static Pager](demo-snippets/svelte/StaticPager.svelte)
+ - A simple pager example using static content.
+- [Basic Pager](demo-snippets/svelte/BasicPager.svelte)
+ - A simple pager example using dynamic content.
+
+
+[](#usage-in-vue)
+
+## Usage in Vue
+
+Import the module into your project.
+
+```typescript
+import Vue from 'nativescript-vue';
+import Pager from '@nativescript-community/ui-pager/vue';
+
+Vue.use(Pager);
+```
+
+### Examples
+
+- [Static Pager](demo-snippets/vue/StaticPager.vue)
+ - A simple pager example using static content.
+- [Basic Pager](demo-snippets/vue/BasicPager.vue)
+ - A simple pager example using dynamic content.
+
+
+
+[](#demos-and-development)
+
+## Demos and Development
+
+
+### Repo Setup
+
+The package manager used to install and link dependencies must be `pnpm` or `yarn`. `npm` wont work.
+
+To develop and test:
+if you use `yarn` then run `yarn`
+if you use `pnpm` then run `pnpm i`
+
+**Interactive Menu:**
+
+To start the interactive menu, run `npm start` (or `yarn start` or `pnpm start`). This will list all of the commonly used scripts.
+
+### Build
+
+```bash
+npm run build.all
+```
+
+### Demos
+
+```bash
+npm run demo.[ng|react|svelte|vue].[ios|android]
+
+npm run demo.svelte.ios # Example
+```
+
+
+[](#contributing)
+
+## Contributing
+
+### Update repo
+
+You can update the repo files quite easily
+
+First update the submodules
+
+```bash
+npm run update
+```
+
+Then commit the changes
+Then update common files
+
+```bash
+npm run sync
+```
+Then you can run `yarn|pnpm`, commit changed files if any
+
+### Publish
+
+The publishing is completely handled by `lerna` (you can add `-- --bump major` to force a major release)
+Simply run
+```shell
+npm run publish
+```
+
+
+[](#questions)
+
+## Questions
+
+If you have any questions/issues/comments please feel free to create an issue or start a conversation in the [NativeScript Community Discord](https://nativescript.org/discord).
\ No newline at end of file
diff --git a/packages/ui-pager-indicator/blueprint.md b/packages/ui-pager-indicator/blueprint.md
new file mode 100644
index 0000000..c891b19
--- /dev/null
+++ b/packages/ui-pager-indicator/blueprint.md
@@ -0,0 +1,121 @@
+{{ load:../../tools/readme/edit-warning.md }}
+{{ template:title }}
+{{ template:badges }}
+{{ template:description }}
+
+|
|
|
+| --- | ----------- |
+| iOS Demo | Android Demo |
+
+{{ template:toc }}
+
+## Installation
+Run the following command from the root of your project:
+
+`ns plugin add {{ pkg.name }}`
+
+## API
+
+### Properties
+
+| Property | Type |
+| - | - |
+| items | `array` or `ItemsSource`
+| selectedIndex | `number` |
+| canGoRight | `boolean` |
+| canGoLeft | `boolean` |
+| spacing | `PercentLengthType` |
+| peaking | `PercentLengthType` |
+| perPage | `number` |
+| indicator | `string` ('disable', 'none', 'worm', 'fill', 'swap', 'thin_worm', 'flat')|
+| circularMode | `boolean` |
+| autoPlayDelay | `number` |
+| autoPlay | `boolean` |
+| orientation | `string` ('horizontal' or 'vertical') |
+| autoPlay | `boolean` |
+| disableSwipe | `boolean` |
+| showIndicator | `boolean` |
+| indicatorColor | `Color` or `string` |
+| indicatorSelectedColor | `Color` or `string` |
+
+
+```
+Pager for NativeScript supports the core ObservableArray module part of the core NativeScript modules collection. Using an ObservableArray instance as a source for Pager will ensure that changes in the source collection will be automatically taken care of by the control.
+```
+
+
+## Usage in Angular
+
+Import the module into your project.
+
+```typescript
+import { PagerModule } from "@nativescript-community/ui-pager/angular";
+
+@NgModule({
+ imports: [
+ PagerModule,
+ ],
+})
+```
+
+### Examples
+
+- [Static Pager](demo-snippets/ng/static-pager)
+ - A simple pager example using static content.
+- [Basic Pager](demo-snippets/ng/basic-pager)
+ - A simple pager example using dynamic content.
+
+## Usage in React
+
+Import the module into your project.
+
+```typescript
+import { Pager } from '@nativescript-community/ui-pager/react';
+```
+
+### Examples
+
+- [Basic Pager](demo-snippets/react/BasicPager.tsx)
+ - A simple pager example using dynamic content.
+## Usage in Svelte
+
+Import the module into your project.
+
+```typescript
+import { registerNativeViewElement } from 'svelte-native/dom';
+
+import PagerElement from '@nativescript-community/ui-pager/svelte';
+import { PagerItem } from '@nativescript-community/ui-pager';
+
+PagerElement.register();
+registerNativeViewElement('pageritem', () => PagerItem);
+```
+
+### Examples
+
+- [Static Pager](demo-snippets/svelte/StaticPager.svelte)
+ - A simple pager example using static content.
+- [Basic Pager](demo-snippets/svelte/BasicPager.svelte)
+ - A simple pager example using dynamic content.
+
+## Usage in Vue
+
+Import the module into your project.
+
+```typescript
+import Vue from 'nativescript-vue';
+import Pager from '@nativescript-community/ui-pager/vue';
+
+Vue.use(Pager);
+```
+
+### Examples
+
+- [Static Pager](demo-snippets/vue/StaticPager.vue)
+ - A simple pager example using static content.
+- [Basic Pager](demo-snippets/vue/BasicPager.vue)
+ - A simple pager example using dynamic content.
+
+
+{{ load:../../tools/readme/demos-and-development.md }}
+{{ load:../../tools/readme/questions.md }}
\ No newline at end of file
diff --git a/packages/ui-pager-indicator/package.json b/packages/ui-pager-indicator/package.json
new file mode 100644
index 0000000..1c4107d
--- /dev/null
+++ b/packages/ui-pager-indicator/package.json
@@ -0,0 +1,67 @@
+{
+ "name": "@nativescript-community/ui-pager-indicator",
+ "version": "13.0.44",
+ "description": "A NativeScript Indicator for Pager / Carousel /CollectionView",
+ "main": "index",
+ "typings": "index.d.ts",
+ "sideEffects": false,
+ "scripts": {
+ "build": "npm run tsc",
+ "build.win": "npm run tsc.win && npm run readme",
+ "build.all": "npm run build",
+ "build.all.win": "npm run build .win&& npm run build.angular.win",
+ "build.angular": "ng-packagr -p ../../src/ui-pager-indicator/angular/ng-package.json -c ../../src/ui-pager-indicator/angular/tsconfig.json",
+ "build.angular.win": "ng-packagr -p ..\\..\\src\\ui-pager-indicator\\angular\\ng-package.json -c ..\\..\\src\\ui-pager-indicator\\angular\\tsconfig.json",
+ "readme": "readme generate -c ../../tools/readme/blueprint.json",
+ "tsc": "cpy '**/*.d.ts' '../../packages/ui-pager-indicator' --parents --cwd=../../src/ui-pager-indicator && tsc -skipLibCheck -d",
+ "tsc.win": "cpy '**\\*.d.ts' '..\\..\\packages\\ui-pager-indicator' --parents --cwd=..\\..\\src\\ui-pager-indicator && tsc -skipLibCheck -d",
+ "clean": "rimraf ./*.d.ts ./*.js ./*.js.map",
+ "clean.win": "rimraf .\\*.d.ts .\\*.js .\\*.js.map"
+ },
+ "nativescript": {
+ "platforms": {
+ "android": "6.0.0",
+ "ios": "6.0.0"
+ }
+ },
+ "keywords": [
+ "NativeScript",
+ "JavaScript",
+ "Android",
+ "iOS",
+ "pager",
+ "viewpager",
+ "UIPageViewController",
+ "slides",
+ "Carousel",
+ "ng",
+ "angular",
+ "vue",
+ "vue.js",
+ "react",
+ "svelte",
+ "nativescript-angular",
+ "nativescript-vue",
+ "preview|https://raw.githubusercontent.com/nativescript-community/ui-pager/master/images/demo-ios.gif|iOS Demo",
+ "preview|https://raw.githubusercontent.com/nativescript-community/ui-pager/master/images/demo-android.gif|Android Demo"
+ ],
+ "author": {
+ "name": "Martin Guillon",
+ "email": "martin@akylas.fr"
+ },
+ "contributors": [
+ {
+ "name": "Osei Fortune",
+ "email": "fortune.osei@yahoo.com"
+ }
+ ],
+ "bugs": {
+ "url": "https://github.com/nativescript-community/ui-pager/issues"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/nativescript-community/ui-pager"
+ },
+ "license": "Apache-2.0",
+ "readmeFilename": "README.md"
+}
diff --git a/packages/ui-pager-indicator/platforms/android/include.gradle b/packages/ui-pager-indicator/platforms/android/include.gradle
new file mode 100644
index 0000000..ae6753a
--- /dev/null
+++ b/packages/ui-pager-indicator/platforms/android/include.gradle
@@ -0,0 +1,14 @@
+repositories {
+ mavenCentral()
+ maven { url 'https://jitpack.io' }
+ }
+
+android {
+ configurations {
+ all*.exclude group:'com.romandanylyk', module:'pageindicatorview'
+ }
+}
+
+dependencies {
+ implementation 'com.github.adrielcafe:PageIndicatorView:1.0.6'
+}
diff --git a/packages/ui-pager-indicator/platforms/android/native-api-usage.json b/packages/ui-pager-indicator/platforms/android/native-api-usage.json
new file mode 100644
index 0000000..fd3f9e4
--- /dev/null
+++ b/packages/ui-pager-indicator/platforms/android/native-api-usage.json
@@ -0,0 +1,7 @@
+{
+ "uses": [
+ "com.rd:PageIndicatorView2*",
+ "com.rd.animation.type:AnimationType*"
+ ]
+}
+
diff --git a/packages/ui-pager-indicator/platforms/ios/Podfile b/packages/ui-pager-indicator/platforms/ios/Podfile
new file mode 100644
index 0000000..ef99fe5
--- /dev/null
+++ b/packages/ui-pager-indicator/platforms/ios/Podfile
@@ -0,0 +1 @@
+pod 'CHIPageControl'
\ No newline at end of file
diff --git a/packages/ui-pager-indicator/platforms/ios/native-api-usage.json b/packages/ui-pager-indicator/platforms/ios/native-api-usage.json
new file mode 100644
index 0000000..da7d6ba
--- /dev/null
+++ b/packages/ui-pager-indicator/platforms/ios/native-api-usage.json
@@ -0,0 +1,5 @@
+{
+ "uses": [
+ "CHIPageControl*:*"
+ ]
+}
diff --git a/packages/ui-pager-indicator/tsconfig.json b/packages/ui-pager-indicator/tsconfig.json
new file mode 100644
index 0000000..6700427
--- /dev/null
+++ b/packages/ui-pager-indicator/tsconfig.json
@@ -0,0 +1,13 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "rootDir": "../../src/ui-pager-indicator",
+ "outDir": "./",
+ "paths": {
+ "@nativescript-community/ui-pager-indicator": ["packages/ui-pager-indicator"],
+ "@nativescript-community/ui-pager-indicator/*": ["packages/ui-pager-indicator/*"]
+ }
+ },
+ "include": ["../../src/ui-pager-indicator/**/*", "../../references.d.ts", "../../tools/references.d.ts", "../../src/references.d.ts"],
+ "exclude": ["../../src/ui-pager-indicator/angular/**"]
+}
diff --git a/packages/ui-pager/.npmignore b/packages/ui-pager/.npmignore
index 138a583..d40b4c4 100644
--- a/packages/ui-pager/.npmignore
+++ b/packages/ui-pager/.npmignore
@@ -1,12 +1,8 @@
+.DS_Store
+tsconfig.json
node_modules/
pnpm-global/
-src/
-bin/
-hooks/
-*.ts
-*.old
-tsconfig.json
-!*.d.ts
+CHANGELOG.md
+blueprint.md
*.aar
-*.jar
-blueprint.md
\ No newline at end of file
+*.jar
\ No newline at end of file
diff --git a/packages/ui-pager/README.md b/packages/ui-pager/README.md
index c5b0224..905c0a7 100644
--- a/packages/ui-pager/README.md
+++ b/packages/ui-pager/README.md
@@ -53,9 +53,12 @@
* [Usage in Vue](#usage-in-vue)
* [Examples](#examples-3)
* [Demos and Development](#demos-and-development)
- * [Setup](#setup)
+ * [Repo Setup](#repo-setup)
* [Build](#build)
* [Demos](#demos)
+* [Contributing](#contributing)
+ * [Update repo ](#update-repo-)
+ * [Publish](#publish)
* [Questions](#questions)
@@ -76,22 +79,8 @@ Run the following command from the root of your project:
| Property | Type |
| - | - |
| items | `array` or `ItemsSource`
-| selectedIndex | `number` |
-| canGoRight | `boolean` |
-| canGoLeft | `boolean` |
-| spacing | `PercentLengthType` |
-| peaking | `PercentLengthType` |
-| perPage | `number` |
-| indicator | `string` ('disable', 'none', 'worm', 'fill', 'swap', 'thin_worm', 'flat')|
-| circularMode | `boolean` |
-| autoPlayDelay | `number` |
-| autoPlay | `boolean` |
-| orientation | `string` ('horizontal' or 'vertical') |
-| autoPlay | `boolean` |
-| disableSwipe | `boolean` |
-| showIndicator | `boolean` |
-| indicatorColor | `Color` or `string` |
-| indicatorSelectedColor | `Color` or `string` |
+| color | `Color` or `string` |
+| selectedColor | `Color` or `string` |
```
@@ -107,7 +96,7 @@ Pager for NativeScript supports the core ObservableArray module part of the core
Import the module into your project.
```typescript
-import { PagerModule } from "@nativescript-community/ui-pager/angular";
+import { PagerModule } from "@nativescript-community/ui-pager-indicator/angular";
@NgModule({
imports: [
@@ -131,7 +120,7 @@ import { PagerModule } from "@nativescript-community/ui-pager/angular";
Import the module into your project.
```typescript
-import { Pager } from '@nativescript-community/ui-pager/react';
+import { Pager } from '@nativescript-community/ui-pager-indicator/react';
```
### Examples
@@ -148,8 +137,8 @@ Import the module into your project.
```typescript
import { registerNativeViewElement } from 'svelte-native/dom';
-import PagerElement from '@nativescript-community/ui-pager/svelte';
-import { PagerItem } from '@nativescript-community/ui-pager';
+import PagerElement from '@nativescript-community/ui-pager-indicator/svelte';
+import { PagerItem } from '@nativescript-community/ui-pager-indicator';
PagerElement.register();
registerNativeViewElement('pageritem', () => PagerItem);
@@ -171,17 +160,15 @@ Import the module into your project.
```typescript
import Vue from 'nativescript-vue';
-import Pager from '@nativescript-community/ui-pager/vue';
+import Pager from '@nativescript-community/ui-pager-indicator/vue';
Vue.use(Pager);
```
### Examples
-- [Static Pager](demo-snippets/vue/StaticPager.vue)
- - A simple pager example using static content.
-- [Basic Pager](demo-snippets/vue/BasicPager.vue)
- - A simple pager example using dynamic content.
+- [Indicator Pager](demo-snippets/vue/Indicator.vue)
+ - A simple pager example using dynamic content and indicator.
@@ -190,18 +177,13 @@ Vue.use(Pager);
## Demos and Development
-### Setup
+### Repo Setup
-To run the demos, you must clone this repo **recursively**.
+The package manager used to install and link dependencies must be `pnpm` or `yarn`. `npm` wont work.
-```
-git clone https://github.com/@nativescript-community/ui-pager.git --recursive
-```
-
-**Install Dependencies:**
-```bash
-npm i # or 'yarn install' or 'pnpm install'
-```
+To develop and test:
+if you use `yarn` then run `yarn`
+if you use `pnpm` then run `pnpm i`
**Interactive Menu:**
@@ -210,9 +192,7 @@ To start the interactive menu, run `npm start` (or `yarn start` or `pnpm start`)
### Build
```bash
-npm run build
-
-npm run build.angular # or for Angular
+npm run build.all
```
### Demos
@@ -222,6 +202,38 @@ npm run demo.[ng|react|svelte|vue].[ios|android]
npm run demo.svelte.ios # Example
```
+
+
+[](#contributing)
+
+## Contributing
+
+### Update repo
+
+You can update the repo files quite easily
+
+First update the submodules
+
+```bash
+npm run update
+```
+
+Then commit the changes
+Then update common files
+
+```bash
+npm run sync
+```
+Then you can run `yarn|pnpm`, commit changed files if any
+
+### Publish
+
+The publishing is completely handled by `lerna` (you can add `-- --bump major` to force a major release)
+Simply run
+```shell
+npm run publish
+```
+
[](#questions)
diff --git a/packages/ui-pager/blueprint.md b/packages/ui-pager/blueprint.md
index c891b19..505818a 100644
--- a/packages/ui-pager/blueprint.md
+++ b/packages/ui-pager/blueprint.md
@@ -21,22 +21,8 @@ Run the following command from the root of your project:
| Property | Type |
| - | - |
| items | `array` or `ItemsSource`
-| selectedIndex | `number` |
-| canGoRight | `boolean` |
-| canGoLeft | `boolean` |
-| spacing | `PercentLengthType` |
-| peaking | `PercentLengthType` |
-| perPage | `number` |
-| indicator | `string` ('disable', 'none', 'worm', 'fill', 'swap', 'thin_worm', 'flat')|
-| circularMode | `boolean` |
-| autoPlayDelay | `number` |
-| autoPlay | `boolean` |
-| orientation | `string` ('horizontal' or 'vertical') |
-| autoPlay | `boolean` |
-| disableSwipe | `boolean` |
-| showIndicator | `boolean` |
-| indicatorColor | `Color` or `string` |
-| indicatorSelectedColor | `Color` or `string` |
+| color | `Color` or `string` |
+| selectedColor | `Color` or `string` |
```
@@ -49,7 +35,7 @@ Pager for NativeScript supports the core ObservableArray module part of the core
Import the module into your project.
```typescript
-import { PagerModule } from "@nativescript-community/ui-pager/angular";
+import { PagerModule } from "@nativescript-community/ui-pager-indicator/angular";
@NgModule({
imports: [
@@ -70,7 +56,7 @@ import { PagerModule } from "@nativescript-community/ui-pager/angular";
Import the module into your project.
```typescript
-import { Pager } from '@nativescript-community/ui-pager/react';
+import { Pager } from '@nativescript-community/ui-pager-indicator/react';
```
### Examples
@@ -84,8 +70,8 @@ Import the module into your project.
```typescript
import { registerNativeViewElement } from 'svelte-native/dom';
-import PagerElement from '@nativescript-community/ui-pager/svelte';
-import { PagerItem } from '@nativescript-community/ui-pager';
+import PagerElement from '@nativescript-community/ui-pager-indicator/svelte';
+import { PagerItem } from '@nativescript-community/ui-pager-indicator';
PagerElement.register();
registerNativeViewElement('pageritem', () => PagerItem);
@@ -104,17 +90,15 @@ Import the module into your project.
```typescript
import Vue from 'nativescript-vue';
-import Pager from '@nativescript-community/ui-pager/vue';
+import Pager from '@nativescript-community/ui-pager-indicator/vue';
Vue.use(Pager);
```
### Examples
-- [Static Pager](demo-snippets/vue/StaticPager.vue)
- - A simple pager example using static content.
-- [Basic Pager](demo-snippets/vue/BasicPager.vue)
- - A simple pager example using dynamic content.
+- [Indicator Pager](demo-snippets/vue/Indicator.vue)
+ - A simple pager example using dynamic content and indicator.
{{ load:../../tools/readme/demos-and-development.md }}
diff --git a/packages/ui-pager/package.json b/packages/ui-pager/package.json
index af75cdc..33a726b 100644
--- a/packages/ui-pager/package.json
+++ b/packages/ui-pager/package.json
@@ -6,17 +6,17 @@
"typings": "index.d.ts",
"sideEffects": false,
"scripts": {
- "build": "npm run tsc && npm run readme",
+ "build": "npm run tsc",
"build.win": "npm run tsc.win && npm run readme",
"build.all": "npm run build && npm run build.angular",
"build.all.win": "npm run build .win&& npm run build.angular.win",
- "build.angular": "../../node_modules/.bin/ng-packagr -p ../../src/ui-pager/angular/ng-package.json -c ../../src/ui-pager/angular/tsconfig.json",
- "build.angular.win": "..\\..\\node_modules\\.bin\\ng-packagr -p ..\\..\\src\\ui-pager\\angular\\ng-package.json -c ..\\..\\src\\ui-pager\\angular\\tsconfig.json",
- "readme": "../../node_modules/.bin/readme generate -c ../../tools/readme/blueprint.json",
- "tsc": "../../node_modules/.bin/cpy '**/*.d.ts' '../../packages/ui-pager' --parents --cwd=../../src/ui-pager && ../../node_modules/.bin/tsc -skipLibCheck -d",
- "tsc.win": "..\\..\\node_modules\\.bin\\cpy '**\\*.d.ts' '..\\..\\packages\\ui-pager' --parents --cwd=..\\..\\src\\ui-pager && ..\\..\\node_modules\\.bin\\tsc -skipLibCheck -d",
- "clean": "../../node_modules/.bin/rimraf ./*.d.ts ./*.js ./*.js.map",
- "clean.win": "..\\..\\node_modules\\.bin\\rimraf .\\*.d.ts .\\*.js .\\*.js.map"
+ "build.angular": "ng-packagr -p ../../src/ui-pager/angular/ng-package.json -c ../../src/ui-pager/angular/tsconfig.json",
+ "build.angular.win": "ng-packagr -p ..\\..\\src\\ui-pager\\angular\\ng-package.json -c ..\\..\\src\\ui-pager\\angular\\tsconfig.json",
+ "readme": "readme generate -c ../../tools/readme/blueprint.json",
+ "tsc": "cpy '**/*.d.ts' '../../packages/ui-pager' --parents --cwd=../../src/ui-pager && tsc -skipLibCheck -d",
+ "tsc.win": "cpy '**\\*.d.ts' '..\\..\\packages\\ui-pager' --parents --cwd=..\\..\\src\\ui-pager && tsc -skipLibCheck -d",
+ "clean": "rimraf ./*.d.ts ./*.js ./*.js.map",
+ "clean.win": "rimraf .\\*.d.ts .\\*.js .\\*.js.map"
},
"nativescript": {
"platforms": {
diff --git a/packages/ui-pager/platforms/android/include.gradle b/packages/ui-pager/platforms/android/include.gradle
index d50f5a7..97b348e 100644
--- a/packages/ui-pager/platforms/android/include.gradle
+++ b/packages/ui-pager/platforms/android/include.gradle
@@ -1,21 +1,8 @@
-repositories {
- mavenCentral()
- maven { url 'https://jitpack.io' }
- }
-
-android {
- configurations {
- all*.exclude group:'com.romandanylyk', module:'pageindicatorview'
- }
-}
dependencies {
def androidXAppCompat = project.hasProperty("androidXAppCompat") ? project.androidXAppCompat : "1.1.0"
def androidxViewPager2Version = project.hasProperty("androidxViewPager2Version") ? project.androidxViewPager2Version : "1.0.0"
implementation "androidx.appcompat:appcompat:$androidXAppCompat"
-
implementation "androidx.viewpager2:viewpager2:$androidxViewPager2Version"
-
- implementation 'com.github.adrielcafe:PageIndicatorView:1.0.6'
}
diff --git a/packages/ui-pager/platforms/android/native-api-usage.json b/packages/ui-pager/platforms/android/native-api-usage.json
index f30157b..0c39945 100644
--- a/packages/ui-pager/platforms/android/native-api-usage.json
+++ b/packages/ui-pager/platforms/android/native-api-usage.json
@@ -1,12 +1,7 @@
{
"uses": [
- "android.widget:RelativeLayout*",
"androidx.viewpager2.widget:ViewPager2*",
- "androidx.viewpager2.widget:CompositePageTransformer*",
- "com.rd:PageIndicatorView2*",
- "com.rd.animation.type:AnimationType*",
- "android.text.style:URLSpan*",
- "androidx.core.widget:TextViewCompat*"
+ "androidx.viewpager2.widget:CompositePageTransformer*"
]
}
diff --git a/packages/ui-pager/platforms/ios/Podfile b/packages/ui-pager/platforms/ios/Podfile
deleted file mode 100644
index 2a22dc9..0000000
--- a/packages/ui-pager/platforms/ios/Podfile
+++ /dev/null
@@ -1 +0,0 @@
-pod 'CHIPageControl', :git => 'https://github.com/triniwiz/CHIPageControl.git'
diff --git a/packages/ui-pager/platforms/ios/native-api-usage.json b/packages/ui-pager/platforms/ios/native-api-usage.json
index 0b0e605..9b501c2 100644
--- a/packages/ui-pager/platforms/ios/native-api-usage.json
+++ b/packages/ui-pager/platforms/ios/native-api-usage.json
@@ -1,6 +1,5 @@
{
"uses": [
- "CHIPageControl*:*",
"Dispatch*:*",
"Darwin*:*"
]
diff --git a/packages/ui-pager/tsconfig.json b/packages/ui-pager/tsconfig.json
index 9bec233..5b38410 100644
--- a/packages/ui-pager/tsconfig.json
+++ b/packages/ui-pager/tsconfig.json
@@ -4,10 +4,10 @@
"rootDir": "../../src/ui-pager",
"outDir": "./",
"paths": {
- "tns-core-modules": ["./node_modules/@nativescript/core"],
- "tns-core-modules/*": ["./node_modules/@nativescript/core/*"]
+ "@nativescript-community/ui-pager": ["packages/ui-pager"],
+ "@nativescript-community/ui-pager/*": ["packages/ui-pager/*"]
}
},
- "include": ["../../src/ui-pager/**/*", "../../references.d.ts", "../../src/references.d.ts"],
+ "include": ["../../src/ui-pager/**/*", "../../references.d.ts", "../../tools/references.d.ts", "../../src/references.d.ts"],
"exclude": ["../../src/ui-pager/angular/**"]
}
diff --git a/src/ui-pager-indicator/index.android.ts b/src/ui-pager-indicator/index.android.ts
new file mode 100644
index 0000000..d0775c7
--- /dev/null
+++ b/src/ui-pager-indicator/index.android.ts
@@ -0,0 +1,131 @@
+import { Color, profile } from '@nativescript/core';
+import { Indicator, PagerIndicatorBase, colorProperty, itemsProperty, selectedColorProperty, typeProperty } from './index.common';
+
+export * from './index.common';
+
+export class PagerIndicator extends PagerIndicatorBase {
+ nativeViewProtected: com.rd.PageIndicatorView2;
+ setProgress(position: number, progress: number) {
+ this.nativeViewProtected.setProgress(position, progress);
+ }
+ getCount(): number {
+ return this.nativeViewProtected.getCount();
+ }
+ getSelection(): number {
+ return this.nativeViewProtected.getSelection();
+ }
+ setInteractiveAnimation(animated?: boolean) {
+ this.nativeViewProtected.setInteractiveAnimation(animated);
+ }
+ setSelection(index: number, animated: boolean = true) {
+ if (animated) {
+ this.nativeViewProtected.setSelection(index);
+ } else {
+ this.nativeViewProtected.setSelected(index);
+ }
+ }
+ setCount(count: number) {
+ this.nativeViewProtected.setCount(count);
+ }
+ withoutAnimation(callback: Function) {
+ this.nativeViewProtected.setInteractiveAnimation(false);
+ callback();
+ this.nativeViewProtected.setInteractiveAnimation(true);
+ }
+
+ @profile()
+ public createNativeView() {
+ const nativeView = new com.rd.PageIndicatorView2(this._context);
+
+ nativeView.setDynamicCount(true);
+ nativeView.setInteractiveAnimation(true);
+ return nativeView;
+ }
+
+ public initNativeView() {
+ super.initNativeView();
+ // this._indicatorView.setCount(this.items ? this.items.length : 0);
+ }
+
+ [typeProperty.setNative](value: Indicator) {
+ const AnimationType = com.rd.animation.type.AnimationType;
+ const nativeView = this.nativeViewProtected;
+ switch (value) {
+ case Indicator.Worm:
+ nativeView.setAnimationType(AnimationType.WORM);
+ break;
+ case Indicator.Fill:
+ nativeView.setAnimationType(AnimationType.FILL);
+ break;
+ case Indicator.Swap:
+ nativeView.setAnimationType(AnimationType.SWAP);
+ break;
+ case Indicator.Thin_worm:
+ nativeView.setAnimationType(AnimationType.THIN_WORM);
+ break;
+ default:
+ case Indicator.None:
+ nativeView.setAnimationType(AnimationType.NONE);
+ break;
+ }
+ }
+
+ [colorProperty.setNative](value: Color | string) {
+ const color = !value || value instanceof Color ? (value as Color) : new Color(value);
+ this.nativeViewProtected.setUnselectedColor(color ? color.android : null);
+ }
+
+ [selectedColorProperty.setNative](value: Color | string) {
+ const color = !value || value instanceof Color ? (value as Color) : new Color(value);
+ this.nativeViewProtected.setSelectedColor(color ? color.android : null);
+ }
+
+ static getProgress(indicator, position, positionOffset, isRtl) {
+ const count = indicator.getCount();
+ let selectedPosition = indicator.getSelection();
+
+ if (isRtl) {
+ position = count - 1 - position;
+ }
+
+ if (position < 0) {
+ position = 0;
+ } else if (position > count - 1) {
+ position = count - 1;
+ }
+
+ const isRightOverScrolled = position > selectedPosition;
+ let isLeftOverScrolled;
+
+ if (isRtl) {
+ isLeftOverScrolled = position - 1 < selectedPosition;
+ } else {
+ isLeftOverScrolled = position + 1 < selectedPosition;
+ }
+
+ if (isRightOverScrolled || isLeftOverScrolled) {
+ selectedPosition = position;
+ indicator.setSelection(selectedPosition);
+ }
+
+ const slideToRightSide = selectedPosition === position && positionOffset !== 0;
+ let selectingPosition;
+ let selectingProgress;
+
+ if (slideToRightSide) {
+ selectingPosition = isRtl ? position - 1 : position + 1;
+ selectingProgress = positionOffset;
+ } else {
+ selectingPosition = position;
+ selectingProgress = 1 - positionOffset;
+ }
+
+ if (selectingProgress > 1) {
+ selectingProgress = 1;
+ } else if (selectingProgress < 0) {
+ selectingProgress = 0;
+ }
+
+ return [selectingPosition, selectingProgress];
+ }
+}
diff --git a/src/ui-pager-indicator/index.common.ts b/src/ui-pager-indicator/index.common.ts
new file mode 100644
index 0000000..1669eab
--- /dev/null
+++ b/src/ui-pager-indicator/index.common.ts
@@ -0,0 +1,111 @@
+import {
+ AddChildFromBuilder,
+ Builder,
+ CSSType,
+ CoercibleProperty,
+ Color,
+ ContainerView,
+ CoreTypes,
+ GridLayout,
+ ItemsSource,
+ KeyedTemplate,
+ Label,
+ Length,
+ Observable,
+ ObservableArray,
+ PercentLength,
+ Property,
+ Template,
+ Trace,
+ View,
+ ViewBase,
+ addWeakEventListener,
+ makeParser,
+ makeValidator,
+ removeWeakEventListener
+} from '@nativescript/core';
+import { IndicatorHolder } from '.';
+export enum Indicator {
+ Disabled = 'disable',
+ None = 'none',
+ Worm = 'worm',
+ Fill = 'fill',
+ Swap = 'swap',
+ Thin_worm = 'thin_worm',
+ Flat = 'flat'
+}
+
+export const colorProperty = new Property({
+ name: 'color'
+});
+export const selectedColorProperty = new Property({
+ name: 'selectedColor'
+});
+export const itemsProperty = new Property({
+ name: 'items'
+});
+export const typeProperty = new Property({
+ name: 'type',
+ defaultValue: Indicator.None
+});
+export const pagerViewIdProperty = new Property({
+ name: 'pagerViewId'
+});
+
+@CSSType('PagerIndicator')
+export abstract class PagerIndicatorBase extends View {
+ public items: any[] | ItemsSource;
+ public color: Color;
+ public selectedColor: Color | string;
+ public type: Indicator;
+
+ pagerView: View & IndicatorHolder;
+ pagerViewId: string;
+
+ disposeNativeView() {
+ this.pagerView = null;
+ super.disposeNativeView();
+ }
+
+ onLoaded() {
+ super.onLoaded();
+ if (this.pagerViewId) {
+ this.setPagerView(this.page.getViewById(this.pagerViewId));
+ }
+ }
+
+ setPagerView(view: View) {
+ console.log('setPagerView', view);
+ if (this.pagerView !== view) {
+ if (this.pagerView) {
+ this.pagerView.setIndicator(null);
+ this.pagerView = null;
+ }
+ if (view?.['setIndicator']) {
+ this.pagerView = view as View & IndicatorHolder;
+ this.pagerView.setIndicator(this);
+ }
+ }
+ }
+
+ [pagerViewIdProperty.setNative](value) {
+ this.setPagerView(this.page.getViewById(value));
+ }
+
+ abstract setSelection(index: number, animated?: boolean);
+ abstract setProgress(position: number, progress: number);
+ abstract setCount(count: number);
+ abstract getCount(): number;
+ abstract getSelection(): number;
+ abstract setInteractiveAnimation(animated?: boolean);
+ abstract withoutAnimation(callback: Function);
+}
+
+colorProperty.register(PagerIndicatorBase);
+
+selectedColorProperty.register(PagerIndicatorBase);
+
+itemsProperty.register(PagerIndicatorBase);
+
+typeProperty.register(PagerIndicatorBase);
+pagerViewIdProperty.register(PagerIndicatorBase);
diff --git a/src/ui-pager-indicator/index.d.ts b/src/ui-pager-indicator/index.d.ts
new file mode 100644
index 0000000..25bfe1e
--- /dev/null
+++ b/src/ui-pager-indicator/index.d.ts
@@ -0,0 +1,8 @@
+import { View } from '@nativescript/core';
+import { PagerIndicatorBase } from './index.common';
+
+export declare class PagerIndicator extends PagerIndicatorBase {}
+
+export interface IndicatorHolder {
+ setIndicator(indicator: PagerIndicator);
+}
diff --git a/src/ui-pager-indicator/index.ios.ts b/src/ui-pager-indicator/index.ios.ts
new file mode 100644
index 0000000..a849c06
--- /dev/null
+++ b/src/ui-pager-indicator/index.ios.ts
@@ -0,0 +1,79 @@
+import { Color } from '@nativescript/core';
+import { Indicator, PagerIndicatorBase, colorProperty, itemsProperty, selectedColorProperty } from './index.common';
+
+export * from './index.common';
+
+export class PagerIndicator extends PagerIndicatorBase {
+ nativeViewProtected: CHIBasePageControl;
+ createNativeView() {
+ switch (this.type) {
+ case Indicator.Worm:
+ return CHIPageControlAleppo.new();
+ case Indicator.Fill:
+ return CHIPageControlChimayo.new();
+ case Indicator.Swap:
+ return CHIPageControlPuya.new();
+ case Indicator.Thin_worm:
+ return CHIPageControlJalapeno.new();
+ case Indicator.Flat:
+ return CHIPageControlJaloro.new();
+ default:
+ case Indicator.None:
+ return CHIPageControlAji.new();
+ }
+ }
+
+ initNativeView() {
+ super.initNativeView();
+ const nativeView = this.nativeView;
+
+ nativeView.tintColor = UIColor.whiteColor;
+ nativeView.currentPageTintColor = UIColor.whiteColor;
+
+ switch (this.type) {
+ case Indicator.None:
+ case Indicator.Worm:
+ case Indicator.Fill:
+ case Indicator.Swap:
+ case Indicator.Thin_worm:
+ case Indicator.Disabled:
+ nativeView.radius = 4;
+ break;
+
+ case Indicator.Flat:
+ nativeView.radius = 2;
+ nativeView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.7, 0.5);
+ break;
+ }
+ }
+
+ setProgress(position: number, progress: number) {
+ this.nativeViewProtected.setWithProgressAnimated(progress, true);
+ }
+ getCount(): number {
+ return this.nativeViewProtected.numberOfPages;
+ }
+ getSelection(): number {
+ return this.nativeViewProtected.progress;
+ }
+ setInteractiveAnimation(animated?: boolean) {}
+ setSelection(progress: number, animated: boolean = true) {
+ this.nativeViewProtected.setWithProgressAnimated(progress, animated);
+ }
+ setCount(count: number) {
+ this.nativeViewProtected.numberOfPages = count;
+ }
+ withoutAnimation(callback: Function) {
+ callback();
+ }
+
+ [colorProperty.setNative](value: Color | string) {
+ const color = !value || value instanceof Color ? (value as Color) : new Color(value);
+ this.nativeViewProtected.tintColor = color ? color.ios : null;
+ }
+
+ [selectedColorProperty.setNative](value: Color | string) {
+ const color = !value || value instanceof Color ? (value as Color) : new Color(value);
+ this.nativeViewProtected.currentPageTintColor = color ? color.ios : null;
+ }
+}
diff --git a/src/ui-pager-indicator/references.d.ts b/src/ui-pager-indicator/references.d.ts
new file mode 100644
index 0000000..b98a9fd
--- /dev/null
+++ b/src/ui-pager-indicator/references.d.ts
@@ -0,0 +1 @@
+///
diff --git a/src/ui-pager-indicator/typings/indicator.android.d.ts b/src/ui-pager-indicator/typings/indicator.android.d.ts
new file mode 100644
index 0000000..4ab7a8a
--- /dev/null
+++ b/src/ui-pager-indicator/typings/indicator.android.d.ts
@@ -0,0 +1,2888 @@
+///
+
+declare module com {
+ export module rd {
+ export class IndicatorManager extends java.lang.Object implements com.rd.animation.controller.ValueController.UpdateListener {
+ public static class: java.lang.Class;
+ public drawer(): com.rd.draw.DrawManager;
+ public onValueUpdated(param0: com.rd.animation.data.Value): void;
+ public indicator(): com.rd.draw.data.Indicator;
+ public animate(): com.rd.animation.AnimationManager;
+ }
+ export module IndicatorManager {
+ export class Listener extends java.lang.Object {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the com.rd.IndicatorManager$Listener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ onIndicatorUpdated(): void;
+ });
+ public constructor();
+ public onIndicatorUpdated(): void;
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export class PageIndicatorView extends globalAndroid.view.View implements com.rd.IndicatorManager.Listener, globalAndroid.view.View.OnTouchListener {
+ public static class: java.lang.Class;
+ public setRtlMode(param0: com.rd.draw.data.RtlMode): void;
+ public setSelection(param0: number): void;
+ public setProgress(param0: number, param1: number): void;
+ public setSelectedColor(param0: number): void;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet, param2: number, param3: number);
+ public onMeasure(param0: number, param1: number): void;
+ public setCount(param0: number): void;
+ public getPadding(): number;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet, param2: number);
+ public getSelectedColor(): number;
+ public getUnselectedColor(): number;
+ public getCount(): number;
+ public setPadding(param0: number, param1: number, param2: number, param3: number): void;
+ public setInteractiveAnimation(param0: boolean): void;
+ public setClickListener(param0: com.rd.draw.controller.DrawController.ClickListener): void;
+ public constructor(param0: globalAndroid.content.Context);
+ public onDetachedFromWindow(): void;
+ public sendAccessibilityEvent(param0: number): void;
+ public setScaleFactor(param0: number): void;
+ public getAnimationDuration(): number;
+ public getStrokeWidth(): number;
+ public invalidateDrawable(param0: globalAndroid.graphics.drawable.Drawable): void;
+ public onIndicatorUpdated(): void;
+ public setViewPager(param0: androidx.viewpager.widget.ViewPager): void;
+ public getRadius(): number;
+ public onAdapterChanged(param0: androidx.viewpager.widget.ViewPager, param1: androidx.viewpager.widget.PagerAdapter, param2: androidx.viewpager.widget.PagerAdapter): void;
+ public setSelected(param0: boolean): void;
+ public setRadius(param0: number): void;
+ public setFadeOnIdle(param0: boolean): void;
+ public onTouchEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public onRestoreInstanceState(param0: globalAndroid.os.Parcelable): void;
+ public releaseViewPager(): void;
+ public getSelection(): number;
+ public setStrokeWidth(param0: number): void;
+ public onKeyMultiple(param0: number, param1: number, param2: globalAndroid.view.KeyEvent): boolean;
+ public setSelected(param0: number): void;
+ public onDraw(param0: globalAndroid.graphics.Canvas): void;
+ public onPageScrolled(param0: number, param1: number, param2: number): void;
+ public unscheduleDrawable(param0: globalAndroid.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
+ public setAnimationType(param0: com.rd.animation.type.AnimationType): void;
+ public onPageScrollStateChanged(param0: number): void;
+ public sendAccessibilityEventUnchecked(param0: globalAndroid.view.accessibility.AccessibilityEvent): void;
+ public getScaleFactor(): number;
+ public setIdleDuration(param0: number): void;
+ public onKeyLongPress(param0: number, param1: globalAndroid.view.KeyEvent): boolean;
+ public unscheduleDrawable(param0: globalAndroid.graphics.drawable.Drawable): void;
+ public setPadding(param0: number): void;
+ public onSaveInstanceState(): globalAndroid.os.Parcelable;
+ public setOrientation(param0: com.rd.draw.data.Orientation): void;
+ public onTouch(param0: globalAndroid.view.View, param1: globalAndroid.view.MotionEvent): boolean;
+ public setAutoVisibility(param0: boolean): void;
+ public setAnimationDuration(param0: number): void;
+ public onPageSelected(param0: number): void;
+ public clearSelection(): void;
+ public onKeyDown(param0: number, param1: globalAndroid.view.KeyEvent): boolean;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+ public setDynamicCount(param0: boolean): void;
+ public setUnselectedColor(param0: number): void;
+ public onKeyUp(param0: number, param1: globalAndroid.view.KeyEvent): boolean;
+ public onAttachedToWindow(): void;
+ public scheduleDrawable(param0: globalAndroid.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export class PageIndicatorView2 extends globalAndroid.view.View implements com.rd.IndicatorManager.Listener, globalAndroid.view.View.OnTouchListener {
+ public static class: java.lang.Class;
+ public setRtlMode(param0: com.rd.draw.data.RtlMode): void;
+ public setSelection(param0: number): void;
+ public setProgress(param0: number, param1: number): void;
+ public setSelectedColor(param0: number): void;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet, param2: number, param3: number);
+ public onMeasure(param0: number, param1: number): void;
+ public setCount(param0: number): void;
+ public getPadding(): number;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet, param2: number);
+ public getSelectedColor(): number;
+ public getUnselectedColor(): number;
+ public getCount(): number;
+ public setPadding(param0: number, param1: number, param2: number, param3: number): void;
+ public setInteractiveAnimation(param0: boolean): void;
+ public setClickListener(param0: com.rd.draw.controller.DrawController.ClickListener): void;
+ public constructor(param0: globalAndroid.content.Context);
+ public onDetachedFromWindow(): void;
+ public sendAccessibilityEvent(param0: number): void;
+ public setScaleFactor(param0: number): void;
+ public getAnimationDuration(): number;
+ public getStrokeWidth(): number;
+ public invalidateDrawable(param0: globalAndroid.graphics.drawable.Drawable): void;
+ public onIndicatorUpdated(): void;
+ public getRadius(): number;
+ public setSelected(param0: boolean): void;
+ public setRadius(param0: number): void;
+ public setFadeOnIdle(param0: boolean): void;
+ public onTouchEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public onRestoreInstanceState(param0: globalAndroid.os.Parcelable): void;
+ public releaseViewPager(): void;
+ public getSelection(): number;
+ public setStrokeWidth(param0: number): void;
+ public onKeyMultiple(param0: number, param1: number, param2: globalAndroid.view.KeyEvent): boolean;
+ public setSelected(param0: number): void;
+ public onDraw(param0: globalAndroid.graphics.Canvas): void;
+ public unscheduleDrawable(param0: globalAndroid.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
+ public setAnimationType(param0: com.rd.animation.type.AnimationType): void;
+ public sendAccessibilityEventUnchecked(param0: globalAndroid.view.accessibility.AccessibilityEvent): void;
+ public getScaleFactor(): number;
+ public setIdleDuration(param0: number): void;
+ public onKeyLongPress(param0: number, param1: globalAndroid.view.KeyEvent): boolean;
+ public unscheduleDrawable(param0: globalAndroid.graphics.drawable.Drawable): void;
+ public setPadding(param0: number): void;
+ public onSaveInstanceState(): globalAndroid.os.Parcelable;
+ public setOrientation(param0: com.rd.draw.data.Orientation): void;
+ public onTouch(param0: globalAndroid.view.View, param1: globalAndroid.view.MotionEvent): boolean;
+ public setViewPager(param0: androidx.viewpager2.widget.ViewPager2): void;
+ public setAutoVisibility(param0: boolean): void;
+ public setAnimationDuration(param0: number): void;
+ public clearSelection(): void;
+ public onKeyDown(param0: number, param1: globalAndroid.view.KeyEvent): boolean;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+ public setDynamicCount(param0: boolean): void;
+ public setUnselectedColor(param0: number): void;
+ public onKeyUp(param0: number, param1: globalAndroid.view.KeyEvent): boolean;
+ public onAttachedToWindow(): void;
+ public scheduleDrawable(param0: globalAndroid.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export class AnimationManager extends java.lang.Object {
+ public static class: java.lang.Class;
+ public basic(): void;
+ public interactive(param0: number): void;
+ public constructor(param0: com.rd.draw.data.Indicator, param1: com.rd.animation.controller.ValueController.UpdateListener);
+ public end(): void;
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module controller {
+ export class AnimationController extends java.lang.Object {
+ public static class: java.lang.Class;
+ public interactive(param0: number): void;
+ public end(): void;
+ public basic(): void;
+ public constructor(param0: com.rd.draw.data.Indicator, param1: com.rd.animation.controller.ValueController.UpdateListener);
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module controller {
+ export class ValueController extends java.lang.Object {
+ public static class: java.lang.Class;
+ public slide(): com.rd.animation.type.SlideAnimation;
+ public thinWorm(): com.rd.animation.type.ThinWormAnimation;
+ public fill(): com.rd.animation.type.FillAnimation;
+ public color(): com.rd.animation.type.ColorAnimation;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public swap(): com.rd.animation.type.SwapAnimation;
+ public worm(): com.rd.animation.type.WormAnimation;
+ public scaleDown(): com.rd.animation.type.ScaleDownAnimation;
+ public scale(): com.rd.animation.type.ScaleAnimation;
+ public drop(): com.rd.animation.type.DropAnimation;
+ }
+ export module ValueController {
+ export class UpdateListener extends java.lang.Object {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the com.rd.animation.controller.ValueController$UpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ onValueUpdated(param0: com.rd.animation.data.Value): void;
+ });
+ public constructor();
+ public onValueUpdated(param0: com.rd.animation.data.Value): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export class AnimationValue extends java.lang.Object {
+ public static class: java.lang.Class;
+ public getSwapAnimationValue(): com.rd.animation.data.type.SwapAnimationValue;
+ public getThinWormAnimationValue(): com.rd.animation.data.type.ThinWormAnimationValue;
+ public constructor();
+ public getWormAnimationValue(): com.rd.animation.data.type.WormAnimationValue;
+ public getFillAnimationValue(): com.rd.animation.data.type.FillAnimationValue;
+ public getDropAnimationValue(): com.rd.animation.data.type.DropAnimationValue;
+ public getColorAnimationValue(): com.rd.animation.data.type.ColorAnimationValue;
+ public getScaleAnimationValue(): com.rd.animation.data.type.ScaleAnimationValue;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export class Value extends java.lang.Object {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the com.rd.animation.data.Value interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ });
+ public constructor();
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export module type {
+ export class ColorAnimationValue extends java.lang.Object implements com.rd.animation.data.Value {
+ public static class: java.lang.Class;
+ public getColor(): number;
+ public constructor();
+ public getColorReverse(): number;
+ public setColor(param0: number): void;
+ public setColorReverse(param0: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export module type {
+ export class DropAnimationValue extends java.lang.Object implements com.rd.animation.data.Value {
+ public static class: java.lang.Class;
+ public constructor();
+ public setWidth(param0: number): void;
+ public getWidth(): number;
+ public setRadius(param0: number): void;
+ public setHeight(param0: number): void;
+ public getRadius(): number;
+ public getHeight(): number;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export module type {
+ export class FillAnimationValue extends com.rd.animation.data.type.ColorAnimationValue implements com.rd.animation.data.Value {
+ public static class: java.lang.Class;
+ public getStrokeReverse(): number;
+ public constructor();
+ public setRadius(param0: number): void;
+ public getRadiusReverse(): number;
+ public getRadius(): number;
+ public setRadiusReverse(param0: number): void;
+ public getStroke(): number;
+ public setStrokeReverse(param0: number): void;
+ public setStroke(param0: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export module type {
+ export class ScaleAnimationValue extends com.rd.animation.data.type.ColorAnimationValue implements com.rd.animation.data.Value {
+ public static class: java.lang.Class;
+ public constructor();
+ public setRadius(param0: number): void;
+ public getRadiusReverse(): number;
+ public getRadius(): number;
+ public setRadiusReverse(param0: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export module type {
+ export class SlideAnimationValue extends java.lang.Object implements com.rd.animation.data.Value {
+ public static class: java.lang.Class;
+ public constructor();
+ public getCoordinate(): number;
+ public setCoordinate(param0: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export module type {
+ export class SwapAnimationValue extends java.lang.Object implements com.rd.animation.data.Value {
+ public static class: java.lang.Class;
+ public constructor();
+ public getCoordinate(): number;
+ public getCoordinateReverse(): number;
+ public setCoordinate(param0: number): void;
+ public setCoordinateReverse(param0: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export module type {
+ export class ThinWormAnimationValue extends com.rd.animation.data.type.WormAnimationValue implements com.rd.animation.data.Value {
+ public static class: java.lang.Class;
+ public constructor();
+ public setHeight(param0: number): void;
+ public getHeight(): number;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module data {
+ export module type {
+ export class WormAnimationValue extends java.lang.Object implements com.rd.animation.data.Value {
+ public static class: java.lang.Class;
+ public constructor();
+ public getRectStart(): number;
+ public setRectStart(param0: number): void;
+ public setRectEnd(param0: number): void;
+ public getRectEnd(): number;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class AnimationType {
+ public static class: java.lang.Class;
+ public static NONE: com.rd.animation.type.AnimationType;
+ public static COLOR: com.rd.animation.type.AnimationType;
+ public static SCALE: com.rd.animation.type.AnimationType;
+ public static WORM: com.rd.animation.type.AnimationType;
+ public static SLIDE: com.rd.animation.type.AnimationType;
+ public static FILL: com.rd.animation.type.AnimationType;
+ public static THIN_WORM: com.rd.animation.type.AnimationType;
+ public static DROP: com.rd.animation.type.AnimationType;
+ public static SWAP: com.rd.animation.type.AnimationType;
+ public static SCALE_DOWN: com.rd.animation.type.AnimationType;
+ public static valueOf(param0: string): com.rd.animation.type.AnimationType;
+ public static values(): androidNative.Array;
+ public static valueOf(param0: java.lang.Class, param1: string): java.lang.Enum;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export abstract class BaseAnimation extends java.lang.Object {
+ public static class: java.lang.Class>;
+ public static DEFAULT_ANIMATION_TIME: number;
+ public animationDuration: number;
+ public listener: com.rd.animation.controller.ValueController.UpdateListener;
+ public animator: T;
+ public end(): void;
+ public createAnimator(): T;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public progress(param0: number): com.rd.animation.type.BaseAnimation;
+ public duration(param0: number): com.rd.animation.type.BaseAnimation;
+ public start(): void;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class ColorAnimation extends com.rd.animation.type.BaseAnimation {
+ public static class: java.lang.Class;
+ public static DEFAULT_UNSELECTED_COLOR: string;
+ public static DEFAULT_SELECTED_COLOR: string;
+ public with(param0: number, param1: number): com.rd.animation.type.ColorAnimation;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public createAnimator(): any;
+ public progress(param0: number): com.rd.animation.type.BaseAnimation;
+ public progress(param0: number): com.rd.animation.type.ColorAnimation;
+ public createAnimator(): globalAndroid.animation.ValueAnimator;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class DropAnimation extends com.rd.animation.type.BaseAnimation {
+ public static class: java.lang.Class;
+ public createAnimator(): globalAndroid.animation.AnimatorSet;
+ public progress(param0: number): com.rd.animation.type.DropAnimation;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public createAnimator(): any;
+ public duration(param0: number): com.rd.animation.type.DropAnimation;
+ public progress(param0: number): com.rd.animation.type.BaseAnimation;
+ public duration(param0: number): com.rd.animation.type.BaseAnimation;
+ public with(param0: number, param1: number, param2: number, param3: number, param4: number): com.rd.animation.type.DropAnimation;
+ }
+ export module DropAnimation {
+ export class AnimationType {
+ public static class: java.lang.Class;
+ public static Width: com.rd.animation.type.DropAnimation.AnimationType;
+ public static Height: com.rd.animation.type.DropAnimation.AnimationType;
+ public static Radius: com.rd.animation.type.DropAnimation.AnimationType;
+ public static valueOf(param0: string): com.rd.animation.type.DropAnimation.AnimationType;
+ public static values(): androidNative.Array;
+ public static valueOf(param0: java.lang.Class, param1: string): java.lang.Enum;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class FillAnimation extends com.rd.animation.type.ColorAnimation {
+ public static class: java.lang.Class;
+ public static DEFAULT_STROKE_DP: number;
+ public with(param0: number, param1: number): com.rd.animation.type.ColorAnimation;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public createAnimator(): any;
+ public with(param0: number, param1: number, param2: number, param3: number): com.rd.animation.type.FillAnimation;
+ public createAnimator(): globalAndroid.animation.ValueAnimator;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class ScaleAnimation extends com.rd.animation.type.ColorAnimation {
+ public static class: java.lang.Class;
+ public static DEFAULT_SCALE_FACTOR: number;
+ public static MIN_SCALE_FACTOR: number;
+ public static MAX_SCALE_FACTOR: number;
+ public with(param0: number, param1: number, param2: number, param3: number): com.rd.animation.type.ScaleAnimation;
+ public with(param0: number, param1: number): com.rd.animation.type.ColorAnimation;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public createAnimator(): any;
+ public createAnimator(): globalAndroid.animation.ValueAnimator;
+ public createScalePropertyHolder(param0: boolean): globalAndroid.animation.PropertyValuesHolder;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class ScaleDownAnimation extends com.rd.animation.type.ScaleAnimation {
+ public static class: java.lang.Class;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public createScalePropertyHolder(param0: boolean): globalAndroid.animation.PropertyValuesHolder;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class SlideAnimation extends com.rd.animation.type.BaseAnimation {
+ public static class: java.lang.Class;
+ public progress(param0: number): com.rd.animation.type.SlideAnimation;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public createAnimator(): any;
+ public progress(param0: number): com.rd.animation.type.BaseAnimation;
+ public with(param0: number, param1: number): com.rd.animation.type.SlideAnimation;
+ public createAnimator(): globalAndroid.animation.ValueAnimator;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class SwapAnimation extends com.rd.animation.type.BaseAnimation {
+ public static class: java.lang.Class;
+ public with(param0: number, param1: number): com.rd.animation.type.SwapAnimation;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public createAnimator(): any;
+ public progress(param0: number): com.rd.animation.type.BaseAnimation;
+ public progress(param0: number): com.rd.animation.type.SwapAnimation;
+ public createAnimator(): globalAndroid.animation.ValueAnimator;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class ThinWormAnimation extends com.rd.animation.type.WormAnimation {
+ public static class: java.lang.Class;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public duration(param0: number): com.rd.animation.type.ThinWormAnimation;
+ public progress(param0: number): com.rd.animation.type.BaseAnimation;
+ public duration(param0: number): com.rd.animation.type.BaseAnimation;
+ public with(param0: number, param1: number, param2: number, param3: boolean): com.rd.animation.type.WormAnimation;
+ public progress(param0: number): com.rd.animation.type.WormAnimation;
+ public duration(param0: number): com.rd.animation.type.WormAnimation;
+ public progress(param0: number): com.rd.animation.type.ThinWormAnimation;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module animation {
+ export module type {
+ export class WormAnimation extends com.rd.animation.type.BaseAnimation {
+ public static class: java.lang.Class;
+ public createAnimator(): globalAndroid.animation.AnimatorSet;
+ public constructor(param0: com.rd.animation.controller.ValueController.UpdateListener);
+ public createAnimator(): any;
+ public progress(param0: number): com.rd.animation.type.BaseAnimation;
+ public duration(param0: number): com.rd.animation.type.BaseAnimation;
+ public with(param0: number, param1: number, param2: number, param3: boolean): com.rd.animation.type.WormAnimation;
+ public progress(param0: number): com.rd.animation.type.WormAnimation;
+ public duration(param0: number): com.rd.animation.type.WormAnimation;
+ }
+ export module WormAnimation {
+ export class RectValues extends java.lang.Object {
+ public static class: java.lang.Class;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export class DrawManager extends java.lang.Object {
+ public static class: java.lang.Class;
+ public measureViewSize(param0: number, param1: number): globalAndroid.util.Pair;
+ public initAttributes(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet): void;
+ public touch(param0: globalAndroid.view.MotionEvent): void;
+ public updateValue(param0: com.rd.animation.data.Value): void;
+ public indicator(): com.rd.draw.data.Indicator;
+ public draw(param0: globalAndroid.graphics.Canvas): void;
+ public setClickListener(param0: com.rd.draw.controller.DrawController.ClickListener): void;
+ public constructor();
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module controller {
+ export class AttributeController extends java.lang.Object {
+ public static class: java.lang.Class;
+ public constructor(param0: com.rd.draw.data.Indicator);
+ public init(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet): void;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module controller {
+ export class DrawController extends java.lang.Object {
+ public static class: java.lang.Class;
+ public touch(param0: globalAndroid.view.MotionEvent): void;
+ public constructor(param0: com.rd.draw.data.Indicator);
+ public updateValue(param0: com.rd.animation.data.Value): void;
+ public setClickListener(param0: com.rd.draw.controller.DrawController.ClickListener): void;
+ public draw(param0: globalAndroid.graphics.Canvas): void;
+ }
+ export module DrawController {
+ export class ClickListener extends java.lang.Object {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the com.rd.draw.controller.DrawController$ClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ onIndicatorClicked(param0: number): void;
+ });
+ public constructor();
+ public onIndicatorClicked(param0: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module controller {
+ export class MeasureController extends java.lang.Object {
+ public static class: java.lang.Class;
+ public constructor();
+ public measureViewSize(param0: com.rd.draw.data.Indicator, param1: number, param2: number): globalAndroid.util.Pair;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module data {
+ export class Indicator extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static DEFAULT_COUNT: number;
+ public static MIN_COUNT: number;
+ public static COUNT_NONE: number;
+ public static DEFAULT_RADIUS_DP: number;
+ public static DEFAULT_PADDING_DP: number;
+ public static IDLE_ANIMATION_DURATION: number;
+ public setCount(param0: number): void;
+ public getCount(): number;
+ public setHeight(param0: number): void;
+ public setDynamicCount(param0: boolean): void;
+ public setScaleFactor(param0: number): void;
+ public setLastSelectedPosition(param0: number): void;
+ public setSelectedColor(param0: number): void;
+ public isFadeOnIdle(): boolean;
+ public getScaleFactor(): number;
+ public constructor();
+ public getPaddingLeft(): number;
+ public setOrientation(param0: com.rd.draw.data.Orientation): void;
+ public setPaddingTop(param0: number): void;
+ public getAnimationType(): com.rd.animation.type.AnimationType;
+ public getPaddingTop(): number;
+ public getLastSelectedPosition(): number;
+ public getPaddingRight(): number;
+ public setPaddingRight(param0: number): void;
+ public getSelectedColor(): number;
+ public getHeight(): number;
+ public getUnselectedColor(): number;
+ public setIdleDuration(param0: number): void;
+ public getPaddingBottom(): number;
+ public getRadius(): number;
+ public setAnimationType(param0: com.rd.animation.type.AnimationType): void;
+ public setPaddingLeft(param0: number): void;
+ public getPadding(): number;
+ public setPadding(param0: number): void;
+ public isInteractiveAnimation(): boolean;
+ public getOrientation(): com.rd.draw.data.Orientation;
+ public setAnimationDuration(param0: number): void;
+ public getRtlMode(): com.rd.draw.data.RtlMode;
+ public getStroke(): number;
+ public setSelectingPosition(param0: number): void;
+ public isDynamicCount(): boolean;
+ public setPaddingBottom(param0: number): void;
+ public getViewPagerId(): number;
+ public getSelectingPosition(): number;
+ public getSelectedPosition(): number;
+ public setIdle(param0: boolean): void;
+ public getIdleDuration(): number;
+ public setRtlMode(param0: com.rd.draw.data.RtlMode): void;
+ public setWidth(param0: number): void;
+ public setViewPagerId(param0: number): void;
+ public getWidth(): number;
+ public setFadeOnIdle(param0: boolean): void;
+ public setSelectedPosition(param0: number): void;
+ public getAnimationDuration(): number;
+ public isAutoVisibility(): boolean;
+ public isIdle(): boolean;
+ public setRadius(param0: number): void;
+ public setStroke(param0: number): void;
+ public setUnselectedColor(param0: number): void;
+ public setInteractiveAnimation(param0: boolean): void;
+ public setAutoVisibility(param0: boolean): void;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module data {
+ export class Orientation {
+ public static class: java.lang.Class;
+ public static HORIZONTAL: com.rd.draw.data.Orientation;
+ public static VERTICAL: com.rd.draw.data.Orientation;
+ public static values(): androidNative.Array;
+ public static valueOf(param0: string): com.rd.draw.data.Orientation;
+ public static valueOf(param0: java.lang.Class, param1: string): java.lang.Enum;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module data {
+ export class PositionSavedState extends globalAndroid.view.View.BaseSavedState {
+ public static class: java.lang.Class;
+ public static CREATOR: globalAndroid.os.Parcelable.Creator;
+ public constructor(param0: globalAndroid.os.Parcel);
+ public describeContents(): number;
+ public constructor(param0: globalAndroid.os.Parcel, param1: java.lang.ClassLoader);
+ public getSelectingPosition(): number;
+ public setSelectedPosition(param0: number): void;
+ public writeToParcel(param0: globalAndroid.os.Parcel, param1: number): void;
+ public constructor(param0: globalAndroid.os.Parcelable);
+ public setSelectingPosition(param0: number): void;
+ public getLastSelectedPosition(): number;
+ public getSelectedPosition(): number;
+ public setLastSelectedPosition(param0: number): void;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module data {
+ export class RtlMode {
+ public static class: java.lang.Class;
+ public static On: com.rd.draw.data.RtlMode;
+ public static Off: com.rd.draw.data.RtlMode;
+ public static Auto: com.rd.draw.data.RtlMode;
+ public static values(): androidNative.Array;
+ public static valueOf(param0: java.lang.Class, param1: string): java.lang.Enum;
+ public static valueOf(param0: string): com.rd.draw.data.RtlMode;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export class Drawer extends java.lang.Object {
+ public static class: java.lang.Class;
+ public drawThinWorm(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ public constructor(param0: com.rd.draw.data.Indicator);
+ public drawFill(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ public drawBasic(param0: globalAndroid.graphics.Canvas, param1: boolean): void;
+ public drawDrop(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ public drawSwap(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ public drawWorm(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ public drawColor(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ public drawScaleDown(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ public setup(param0: number, param1: number, param2: number): void;
+ public drawScale(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ public drawSlide(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value): void;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class BaseDrawer extends java.lang.Object {
+ public static class: java.lang.Class;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class BasicDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public draw(param0: globalAndroid.graphics.Canvas, param1: number, param2: boolean, param3: number, param4: number): void;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class ColorDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number, param4: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class DropDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class FillDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number, param4: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class ScaleDownDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number, param4: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class ScaleDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number, param4: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class SlideDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class SwapDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number, param4: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class ThinWormDrawer extends com.rd.draw.drawer.type.WormDrawer {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module draw {
+ export module drawer {
+ export module type {
+ export class WormDrawer extends com.rd.draw.drawer.type.BaseDrawer {
+ public static class: java.lang.Class;
+ public rect: globalAndroid.graphics.RectF;
+ public constructor(param0: globalAndroid.graphics.Paint, param1: com.rd.draw.data.Indicator);
+ public draw(param0: globalAndroid.graphics.Canvas, param1: com.rd.animation.data.Value, param2: number, param3: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module pageindicatorview {
+ export class BuildConfig extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static DEBUG: boolean;
+ public static APPLICATION_ID: string;
+ public static BUILD_TYPE: string;
+ public static FLAVOR: string;
+ public static VERSION_CODE: number;
+ public static VERSION_NAME: string;
+ public constructor();
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module pageindicatorview {
+ export class R extends java.lang.Object {
+ public static class: java.lang.Class;
+ }
+ export module R {
+ export class anim extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static abc_fade_in: number;
+ public static abc_fade_out: number;
+ public static abc_grow_fade_in_from_bottom: number;
+ public static abc_popup_enter: number;
+ public static abc_popup_exit: number;
+ public static abc_shrink_fade_out_from_bottom: number;
+ public static abc_slide_in_bottom: number;
+ public static abc_slide_in_top: number;
+ public static abc_slide_out_bottom: number;
+ public static abc_slide_out_top: number;
+ public static abc_tooltip_enter: number;
+ public static abc_tooltip_exit: number;
+ public static btn_checkbox_to_checked_box_inner_merged_animation: number;
+ public static btn_checkbox_to_checked_box_outer_merged_animation: number;
+ public static btn_checkbox_to_checked_icon_null_animation: number;
+ public static btn_checkbox_to_unchecked_box_inner_merged_animation: number;
+ public static btn_checkbox_to_unchecked_check_path_merged_animation: number;
+ public static btn_checkbox_to_unchecked_icon_null_animation: number;
+ public static btn_radio_to_off_mtrl_dot_group_animation: number;
+ public static btn_radio_to_off_mtrl_ring_outer_animation: number;
+ public static btn_radio_to_off_mtrl_ring_outer_path_animation: number;
+ public static btn_radio_to_on_mtrl_dot_group_animation: number;
+ public static btn_radio_to_on_mtrl_ring_outer_animation: number;
+ public static btn_radio_to_on_mtrl_ring_outer_path_animation: number;
+ }
+ export class attr extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static actionBarDivider: number;
+ public static actionBarItemBackground: number;
+ public static actionBarPopupTheme: number;
+ public static actionBarSize: number;
+ public static actionBarSplitStyle: number;
+ public static actionBarStyle: number;
+ public static actionBarTabBarStyle: number;
+ public static actionBarTabStyle: number;
+ public static actionBarTabTextStyle: number;
+ public static actionBarTheme: number;
+ public static actionBarWidgetTheme: number;
+ public static actionButtonStyle: number;
+ public static actionDropDownStyle: number;
+ public static actionLayout: number;
+ public static actionMenuTextAppearance: number;
+ public static actionMenuTextColor: number;
+ public static actionModeBackground: number;
+ public static actionModeCloseButtonStyle: number;
+ public static actionModeCloseDrawable: number;
+ public static actionModeCopyDrawable: number;
+ public static actionModeCutDrawable: number;
+ public static actionModeFindDrawable: number;
+ public static actionModePasteDrawable: number;
+ public static actionModePopupWindowStyle: number;
+ public static actionModeSelectAllDrawable: number;
+ public static actionModeShareDrawable: number;
+ public static actionModeSplitBackground: number;
+ public static actionModeStyle: number;
+ public static actionModeWebSearchDrawable: number;
+ public static actionOverflowButtonStyle: number;
+ public static actionOverflowMenuStyle: number;
+ public static actionProviderClass: number;
+ public static actionViewClass: number;
+ public static activityChooserViewStyle: number;
+ public static alertDialogButtonGroupStyle: number;
+ public static alertDialogCenterButtons: number;
+ public static alertDialogStyle: number;
+ public static alertDialogTheme: number;
+ public static allowStacking: number;
+ public static alpha: number;
+ public static alphabeticModifiers: number;
+ public static arrowHeadLength: number;
+ public static arrowShaftLength: number;
+ public static autoCompleteTextViewStyle: number;
+ public static autoSizeMaxTextSize: number;
+ public static autoSizeMinTextSize: number;
+ public static autoSizePresetSizes: number;
+ public static autoSizeStepGranularity: number;
+ public static autoSizeTextType: number;
+ public static background: number;
+ public static backgroundSplit: number;
+ public static backgroundStacked: number;
+ public static backgroundTint: number;
+ public static backgroundTintMode: number;
+ public static barLength: number;
+ public static borderlessButtonStyle: number;
+ public static buttonBarButtonStyle: number;
+ public static buttonBarNegativeButtonStyle: number;
+ public static buttonBarNeutralButtonStyle: number;
+ public static buttonBarPositiveButtonStyle: number;
+ public static buttonBarStyle: number;
+ public static buttonCompat: number;
+ public static buttonGravity: number;
+ public static buttonIconDimen: number;
+ public static buttonPanelSideLayout: number;
+ public static buttonStyle: number;
+ public static buttonStyleSmall: number;
+ public static buttonTint: number;
+ public static buttonTintMode: number;
+ public static checkboxStyle: number;
+ public static checkedTextViewStyle: number;
+ public static closeIcon: number;
+ public static closeItemLayout: number;
+ public static collapseContentDescription: number;
+ public static collapseIcon: number;
+ public static color: number;
+ public static colorAccent: number;
+ public static colorBackgroundFloating: number;
+ public static colorButtonNormal: number;
+ public static colorControlActivated: number;
+ public static colorControlHighlight: number;
+ public static colorControlNormal: number;
+ public static colorError: number;
+ public static colorPrimary: number;
+ public static colorPrimaryDark: number;
+ public static colorSwitchThumbNormal: number;
+ public static commitIcon: number;
+ public static contentDescription: number;
+ public static contentInsetEnd: number;
+ public static contentInsetEndWithActions: number;
+ public static contentInsetLeft: number;
+ public static contentInsetRight: number;
+ public static contentInsetStart: number;
+ public static contentInsetStartWithNavigation: number;
+ public static controlBackground: number;
+ public static coordinatorLayoutStyle: number;
+ public static customNavigationLayout: number;
+ public static defaultQueryHint: number;
+ public static dialogCornerRadius: number;
+ public static dialogPreferredPadding: number;
+ public static dialogTheme: number;
+ public static displayOptions: number;
+ public static divider: number;
+ public static dividerHorizontal: number;
+ public static dividerPadding: number;
+ public static dividerVertical: number;
+ public static drawableBottomCompat: number;
+ public static drawableEndCompat: number;
+ public static drawableLeftCompat: number;
+ public static drawableRightCompat: number;
+ public static drawableSize: number;
+ public static drawableStartCompat: number;
+ public static drawableTopCompat: number;
+ public static drawerArrowStyle: number;
+ public static dropDownListViewStyle: number;
+ public static dropdownListPreferredItemHeight: number;
+ public static editTextBackground: number;
+ public static editTextColor: number;
+ public static editTextStyle: number;
+ public static elevation: number;
+ public static expandActivityOverflowButtonDrawable: number;
+ public static fastScrollEnabled: number;
+ public static fastScrollHorizontalThumbDrawable: number;
+ public static fastScrollHorizontalTrackDrawable: number;
+ public static fastScrollVerticalThumbDrawable: number;
+ public static fastScrollVerticalTrackDrawable: number;
+ public static firstBaselineToTopHeight: number;
+ public static font: number;
+ public static fontFamily: number;
+ public static fontProviderAuthority: number;
+ public static fontProviderCerts: number;
+ public static fontProviderFetchStrategy: number;
+ public static fontProviderFetchTimeout: number;
+ public static fontProviderPackage: number;
+ public static fontProviderQuery: number;
+ public static fontStyle: number;
+ public static fontVariationSettings: number;
+ public static fontWeight: number;
+ public static gapBetweenBars: number;
+ public static goIcon: number;
+ public static height: number;
+ public static hideOnContentScroll: number;
+ public static homeAsUpIndicator: number;
+ public static homeLayout: number;
+ public static icon: number;
+ public static iconTint: number;
+ public static iconTintMode: number;
+ public static iconifiedByDefault: number;
+ public static imageButtonStyle: number;
+ public static indeterminateProgressStyle: number;
+ public static initialActivityCount: number;
+ public static isLightTheme: number;
+ public static itemPadding: number;
+ public static keylines: number;
+ public static lastBaselineToBottomHeight: number;
+ public static layout: number;
+ public static layoutManager: number;
+ public static layout_anchor: number;
+ public static layout_anchorGravity: number;
+ public static layout_behavior: number;
+ public static layout_dodgeInsetEdges: number;
+ public static layout_insetEdge: number;
+ public static layout_keyline: number;
+ public static lineHeight: number;
+ public static listChoiceBackgroundIndicator: number;
+ public static listChoiceIndicatorMultipleAnimated: number;
+ public static listChoiceIndicatorSingleAnimated: number;
+ public static listDividerAlertDialog: number;
+ public static listItemLayout: number;
+ public static listLayout: number;
+ public static listMenuViewStyle: number;
+ public static listPopupWindowStyle: number;
+ public static listPreferredItemHeight: number;
+ public static listPreferredItemHeightLarge: number;
+ public static listPreferredItemHeightSmall: number;
+ public static listPreferredItemPaddingEnd: number;
+ public static listPreferredItemPaddingLeft: number;
+ public static listPreferredItemPaddingRight: number;
+ public static listPreferredItemPaddingStart: number;
+ public static logo: number;
+ public static logoDescription: number;
+ public static maxButtonHeight: number;
+ public static measureWithLargestChild: number;
+ public static multiChoiceItemLayout: number;
+ public static navigationContentDescription: number;
+ public static navigationIcon: number;
+ public static navigationMode: number;
+ public static numericModifiers: number;
+ public static overlapAnchor: number;
+ public static paddingBottomNoButtons: number;
+ public static paddingEnd: number;
+ public static paddingStart: number;
+ public static paddingTopNoTitle: number;
+ public static panelBackground: number;
+ public static panelMenuListTheme: number;
+ public static panelMenuListWidth: number;
+ public static piv_animationDuration: number;
+ public static piv_animationType: number;
+ public static piv_autoVisibility: number;
+ public static piv_count: number;
+ public static piv_dynamicCount: number;
+ public static piv_fadeOnIdle: number;
+ public static piv_idleDuration: number;
+ public static piv_interactiveAnimation: number;
+ public static piv_orientation: number;
+ public static piv_padding: number;
+ public static piv_radius: number;
+ public static piv_rtl_mode: number;
+ public static piv_scaleFactor: number;
+ public static piv_select: number;
+ public static piv_selectedColor: number;
+ public static piv_strokeWidth: number;
+ public static piv_unselectedColor: number;
+ public static piv_viewPager: number;
+ public static popupMenuStyle: number;
+ public static popupTheme: number;
+ public static popupWindowStyle: number;
+ public static preserveIconSpacing: number;
+ public static progressBarPadding: number;
+ public static progressBarStyle: number;
+ public static queryBackground: number;
+ public static queryHint: number;
+ public static radioButtonStyle: number;
+ public static ratingBarStyle: number;
+ public static ratingBarStyleIndicator: number;
+ public static ratingBarStyleSmall: number;
+ public static reverseLayout: number;
+ public static searchHintIcon: number;
+ public static searchIcon: number;
+ public static searchViewStyle: number;
+ public static seekBarStyle: number;
+ public static selectableItemBackground: number;
+ public static selectableItemBackgroundBorderless: number;
+ public static showAsAction: number;
+ public static showDividers: number;
+ public static showText: number;
+ public static showTitle: number;
+ public static singleChoiceItemLayout: number;
+ public static spanCount: number;
+ public static spinBars: number;
+ public static spinnerDropDownItemStyle: number;
+ public static spinnerStyle: number;
+ public static splitTrack: number;
+ public static srcCompat: number;
+ public static stackFromEnd: number;
+ public static state_above_anchor: number;
+ public static statusBarBackground: number;
+ public static subMenuArrow: number;
+ public static submitBackground: number;
+ public static subtitle: number;
+ public static subtitleTextAppearance: number;
+ public static subtitleTextColor: number;
+ public static subtitleTextStyle: number;
+ public static suggestionRowLayout: number;
+ public static switchMinWidth: number;
+ public static switchPadding: number;
+ public static switchStyle: number;
+ public static switchTextAppearance: number;
+ public static textAllCaps: number;
+ public static textAppearanceLargePopupMenu: number;
+ public static textAppearanceListItem: number;
+ public static textAppearanceListItemSecondary: number;
+ public static textAppearanceListItemSmall: number;
+ public static textAppearancePopupMenuHeader: number;
+ public static textAppearanceSearchResultSubtitle: number;
+ public static textAppearanceSearchResultTitle: number;
+ public static textAppearanceSmallPopupMenu: number;
+ public static textColorAlertDialogListItem: number;
+ public static textColorSearchUrl: number;
+ public static textLocale: number;
+ public static theme: number;
+ public static thickness: number;
+ public static thumbTextPadding: number;
+ public static thumbTint: number;
+ public static thumbTintMode: number;
+ public static tickMark: number;
+ public static tickMarkTint: number;
+ public static tickMarkTintMode: number;
+ public static tint: number;
+ public static tintMode: number;
+ public static title: number;
+ public static titleMargin: number;
+ public static titleMarginBottom: number;
+ public static titleMarginEnd: number;
+ public static titleMarginStart: number;
+ public static titleMarginTop: number;
+ public static titleMargins: number;
+ public static titleTextAppearance: number;
+ public static titleTextColor: number;
+ public static titleTextStyle: number;
+ public static toolbarNavigationButtonStyle: number;
+ public static toolbarStyle: number;
+ public static tooltipForegroundColor: number;
+ public static tooltipFrameBackground: number;
+ public static tooltipText: number;
+ public static track: number;
+ public static trackTint: number;
+ public static trackTintMode: number;
+ public static ttcIndex: number;
+ public static viewInflaterClass: number;
+ public static voiceIcon: number;
+ public static windowActionBar: number;
+ public static windowActionBarOverlay: number;
+ public static windowActionModeOverlay: number;
+ public static windowFixedHeightMajor: number;
+ public static windowFixedHeightMinor: number;
+ public static windowFixedWidthMajor: number;
+ public static windowFixedWidthMinor: number;
+ public static windowMinWidthMajor: number;
+ public static windowMinWidthMinor: number;
+ public static windowNoTitle: number;
+ }
+ export class bool extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static abc_action_bar_embed_tabs: number;
+ public static abc_allow_stacked_button_bar: number;
+ public static abc_config_actionMenuItemAllCaps: number;
+ }
+ export class color extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static abc_background_cache_hint_selector_material_dark: number;
+ public static abc_background_cache_hint_selector_material_light: number;
+ public static abc_btn_colored_borderless_text_material: number;
+ public static abc_btn_colored_text_material: number;
+ public static abc_color_highlight_material: number;
+ public static abc_hint_foreground_material_dark: number;
+ public static abc_hint_foreground_material_light: number;
+ public static abc_input_method_navigation_guard: number;
+ public static abc_primary_text_disable_only_material_dark: number;
+ public static abc_primary_text_disable_only_material_light: number;
+ public static abc_primary_text_material_dark: number;
+ public static abc_primary_text_material_light: number;
+ public static abc_search_url_text: number;
+ public static abc_search_url_text_normal: number;
+ public static abc_search_url_text_pressed: number;
+ public static abc_search_url_text_selected: number;
+ public static abc_secondary_text_material_dark: number;
+ public static abc_secondary_text_material_light: number;
+ public static abc_tint_btn_checkable: number;
+ public static abc_tint_default: number;
+ public static abc_tint_edittext: number;
+ public static abc_tint_seek_thumb: number;
+ public static abc_tint_spinner: number;
+ public static abc_tint_switch_track: number;
+ public static accent_material_dark: number;
+ public static accent_material_light: number;
+ public static background_floating_material_dark: number;
+ public static background_floating_material_light: number;
+ public static background_material_dark: number;
+ public static background_material_light: number;
+ public static bright_foreground_disabled_material_dark: number;
+ public static bright_foreground_disabled_material_light: number;
+ public static bright_foreground_inverse_material_dark: number;
+ public static bright_foreground_inverse_material_light: number;
+ public static bright_foreground_material_dark: number;
+ public static bright_foreground_material_light: number;
+ public static button_material_dark: number;
+ public static button_material_light: number;
+ public static dim_foreground_disabled_material_dark: number;
+ public static dim_foreground_disabled_material_light: number;
+ public static dim_foreground_material_dark: number;
+ public static dim_foreground_material_light: number;
+ public static error_color_material_dark: number;
+ public static error_color_material_light: number;
+ public static foreground_material_dark: number;
+ public static foreground_material_light: number;
+ public static highlighted_text_material_dark: number;
+ public static highlighted_text_material_light: number;
+ public static material_blue_grey_800: number;
+ public static material_blue_grey_900: number;
+ public static material_blue_grey_950: number;
+ public static material_deep_teal_200: number;
+ public static material_deep_teal_500: number;
+ public static material_grey_100: number;
+ public static material_grey_300: number;
+ public static material_grey_50: number;
+ public static material_grey_600: number;
+ public static material_grey_800: number;
+ public static material_grey_850: number;
+ public static material_grey_900: number;
+ public static notification_action_color_filter: number;
+ public static notification_icon_bg_color: number;
+ public static primary_dark_material_dark: number;
+ public static primary_dark_material_light: number;
+ public static primary_material_dark: number;
+ public static primary_material_light: number;
+ public static primary_text_default_material_dark: number;
+ public static primary_text_default_material_light: number;
+ public static primary_text_disabled_material_dark: number;
+ public static primary_text_disabled_material_light: number;
+ public static ripple_material_dark: number;
+ public static ripple_material_light: number;
+ public static secondary_text_default_material_dark: number;
+ public static secondary_text_default_material_light: number;
+ public static secondary_text_disabled_material_dark: number;
+ public static secondary_text_disabled_material_light: number;
+ public static switch_thumb_disabled_material_dark: number;
+ public static switch_thumb_disabled_material_light: number;
+ public static switch_thumb_material_dark: number;
+ public static switch_thumb_material_light: number;
+ public static switch_thumb_normal_material_dark: number;
+ public static switch_thumb_normal_material_light: number;
+ public static tooltip_background_dark: number;
+ public static tooltip_background_light: number;
+ }
+ export class dimen extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static abc_action_bar_content_inset_material: number;
+ public static abc_action_bar_content_inset_with_nav: number;
+ public static abc_action_bar_default_height_material: number;
+ public static abc_action_bar_default_padding_end_material: number;
+ public static abc_action_bar_default_padding_start_material: number;
+ public static abc_action_bar_elevation_material: number;
+ public static abc_action_bar_icon_vertical_padding_material: number;
+ public static abc_action_bar_overflow_padding_end_material: number;
+ public static abc_action_bar_overflow_padding_start_material: number;
+ public static abc_action_bar_stacked_max_height: number;
+ public static abc_action_bar_stacked_tab_max_width: number;
+ public static abc_action_bar_subtitle_bottom_margin_material: number;
+ public static abc_action_bar_subtitle_top_margin_material: number;
+ public static abc_action_button_min_height_material: number;
+ public static abc_action_button_min_width_material: number;
+ public static abc_action_button_min_width_overflow_material: number;
+ public static abc_alert_dialog_button_bar_height: number;
+ public static abc_alert_dialog_button_dimen: number;
+ public static abc_button_inset_horizontal_material: number;
+ public static abc_button_inset_vertical_material: number;
+ public static abc_button_padding_horizontal_material: number;
+ public static abc_button_padding_vertical_material: number;
+ public static abc_cascading_menus_min_smallest_width: number;
+ public static abc_config_prefDialogWidth: number;
+ public static abc_control_corner_material: number;
+ public static abc_control_inset_material: number;
+ public static abc_control_padding_material: number;
+ public static abc_dialog_corner_radius_material: number;
+ public static abc_dialog_fixed_height_major: number;
+ public static abc_dialog_fixed_height_minor: number;
+ public static abc_dialog_fixed_width_major: number;
+ public static abc_dialog_fixed_width_minor: number;
+ public static abc_dialog_list_padding_bottom_no_buttons: number;
+ public static abc_dialog_list_padding_top_no_title: number;
+ public static abc_dialog_min_width_major: number;
+ public static abc_dialog_min_width_minor: number;
+ public static abc_dialog_padding_material: number;
+ public static abc_dialog_padding_top_material: number;
+ public static abc_dialog_title_divider_material: number;
+ public static abc_disabled_alpha_material_dark: number;
+ public static abc_disabled_alpha_material_light: number;
+ public static abc_dropdownitem_icon_width: number;
+ public static abc_dropdownitem_text_padding_left: number;
+ public static abc_dropdownitem_text_padding_right: number;
+ public static abc_edit_text_inset_bottom_material: number;
+ public static abc_edit_text_inset_horizontal_material: number;
+ public static abc_edit_text_inset_top_material: number;
+ public static abc_floating_window_z: number;
+ public static abc_list_item_height_large_material: number;
+ public static abc_list_item_height_material: number;
+ public static abc_list_item_height_small_material: number;
+ public static abc_list_item_padding_horizontal_material: number;
+ public static abc_panel_menu_list_width: number;
+ public static abc_progress_bar_height_material: number;
+ public static abc_search_view_preferred_height: number;
+ public static abc_search_view_preferred_width: number;
+ public static abc_seekbar_track_background_height_material: number;
+ public static abc_seekbar_track_progress_height_material: number;
+ public static abc_select_dialog_padding_start_material: number;
+ public static abc_switch_padding: number;
+ public static abc_text_size_body_1_material: number;
+ public static abc_text_size_body_2_material: number;
+ public static abc_text_size_button_material: number;
+ public static abc_text_size_caption_material: number;
+ public static abc_text_size_display_1_material: number;
+ public static abc_text_size_display_2_material: number;
+ public static abc_text_size_display_3_material: number;
+ public static abc_text_size_display_4_material: number;
+ public static abc_text_size_headline_material: number;
+ public static abc_text_size_large_material: number;
+ public static abc_text_size_medium_material: number;
+ public static abc_text_size_menu_header_material: number;
+ public static abc_text_size_menu_material: number;
+ public static abc_text_size_small_material: number;
+ public static abc_text_size_subhead_material: number;
+ public static abc_text_size_subtitle_material_toolbar: number;
+ public static abc_text_size_title_material: number;
+ public static abc_text_size_title_material_toolbar: number;
+ public static compat_button_inset_horizontal_material: number;
+ public static compat_button_inset_vertical_material: number;
+ public static compat_button_padding_horizontal_material: number;
+ public static compat_button_padding_vertical_material: number;
+ public static compat_control_corner_material: number;
+ public static compat_notification_large_icon_max_height: number;
+ public static compat_notification_large_icon_max_width: number;
+ public static disabled_alpha_material_dark: number;
+ public static disabled_alpha_material_light: number;
+ public static fastscroll_default_thickness: number;
+ public static fastscroll_margin: number;
+ public static fastscroll_minimum_range: number;
+ public static highlight_alpha_material_colored: number;
+ public static highlight_alpha_material_dark: number;
+ public static highlight_alpha_material_light: number;
+ public static hint_alpha_material_dark: number;
+ public static hint_alpha_material_light: number;
+ public static hint_pressed_alpha_material_dark: number;
+ public static hint_pressed_alpha_material_light: number;
+ public static item_touch_helper_max_drag_scroll_per_frame: number;
+ public static item_touch_helper_swipe_escape_max_velocity: number;
+ public static item_touch_helper_swipe_escape_velocity: number;
+ public static notification_action_icon_size: number;
+ public static notification_action_text_size: number;
+ public static notification_big_circle_margin: number;
+ public static notification_content_margin_start: number;
+ public static notification_large_icon_height: number;
+ public static notification_large_icon_width: number;
+ public static notification_main_column_padding_top: number;
+ public static notification_media_narrow_margin: number;
+ public static notification_right_icon_size: number;
+ public static notification_right_side_padding_top: number;
+ public static notification_small_icon_background_padding: number;
+ public static notification_small_icon_size_as_large: number;
+ public static notification_subtext_size: number;
+ public static notification_top_pad: number;
+ public static notification_top_pad_large_text: number;
+ public static tooltip_corner_radius: number;
+ public static tooltip_horizontal_padding: number;
+ public static tooltip_margin: number;
+ public static tooltip_precise_anchor_extra_offset: number;
+ public static tooltip_precise_anchor_threshold: number;
+ public static tooltip_vertical_padding: number;
+ public static tooltip_y_offset_non_touch: number;
+ public static tooltip_y_offset_touch: number;
+ }
+ export class drawable extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static abc_ab_share_pack_mtrl_alpha: number;
+ public static abc_action_bar_item_background_material: number;
+ public static abc_btn_borderless_material: number;
+ public static abc_btn_check_material: number;
+ public static abc_btn_check_material_anim: number;
+ public static abc_btn_check_to_on_mtrl_000: number;
+ public static abc_btn_check_to_on_mtrl_015: number;
+ public static abc_btn_colored_material: number;
+ public static abc_btn_default_mtrl_shape: number;
+ public static abc_btn_radio_material: number;
+ public static abc_btn_radio_material_anim: number;
+ public static abc_btn_radio_to_on_mtrl_000: number;
+ public static abc_btn_radio_to_on_mtrl_015: number;
+ public static abc_btn_switch_to_on_mtrl_00001: number;
+ public static abc_btn_switch_to_on_mtrl_00012: number;
+ public static abc_cab_background_internal_bg: number;
+ public static abc_cab_background_top_material: number;
+ public static abc_cab_background_top_mtrl_alpha: number;
+ public static abc_control_background_material: number;
+ public static abc_dialog_material_background: number;
+ public static abc_edit_text_material: number;
+ public static abc_ic_ab_back_material: number;
+ public static abc_ic_arrow_drop_right_black_24dp: number;
+ public static abc_ic_clear_material: number;
+ public static abc_ic_commit_search_api_mtrl_alpha: number;
+ public static abc_ic_go_search_api_material: number;
+ public static abc_ic_menu_copy_mtrl_am_alpha: number;
+ public static abc_ic_menu_cut_mtrl_alpha: number;
+ public static abc_ic_menu_overflow_material: number;
+ public static abc_ic_menu_paste_mtrl_am_alpha: number;
+ public static abc_ic_menu_selectall_mtrl_alpha: number;
+ public static abc_ic_menu_share_mtrl_alpha: number;
+ public static abc_ic_search_api_material: number;
+ public static abc_ic_star_black_16dp: number;
+ public static abc_ic_star_black_36dp: number;
+ public static abc_ic_star_black_48dp: number;
+ public static abc_ic_star_half_black_16dp: number;
+ public static abc_ic_star_half_black_36dp: number;
+ public static abc_ic_star_half_black_48dp: number;
+ public static abc_ic_voice_search_api_material: number;
+ public static abc_item_background_holo_dark: number;
+ public static abc_item_background_holo_light: number;
+ public static abc_list_divider_material: number;
+ public static abc_list_divider_mtrl_alpha: number;
+ public static abc_list_focused_holo: number;
+ public static abc_list_longpressed_holo: number;
+ public static abc_list_pressed_holo_dark: number;
+ public static abc_list_pressed_holo_light: number;
+ public static abc_list_selector_background_transition_holo_dark: number;
+ public static abc_list_selector_background_transition_holo_light: number;
+ public static abc_list_selector_disabled_holo_dark: number;
+ public static abc_list_selector_disabled_holo_light: number;
+ public static abc_list_selector_holo_dark: number;
+ public static abc_list_selector_holo_light: number;
+ public static abc_menu_hardkey_panel_mtrl_mult: number;
+ public static abc_popup_background_mtrl_mult: number;
+ public static abc_ratingbar_indicator_material: number;
+ public static abc_ratingbar_material: number;
+ public static abc_ratingbar_small_material: number;
+ public static abc_scrubber_control_off_mtrl_alpha: number;
+ public static abc_scrubber_control_to_pressed_mtrl_000: number;
+ public static abc_scrubber_control_to_pressed_mtrl_005: number;
+ public static abc_scrubber_primary_mtrl_alpha: number;
+ public static abc_scrubber_track_mtrl_alpha: number;
+ public static abc_seekbar_thumb_material: number;
+ public static abc_seekbar_tick_mark_material: number;
+ public static abc_seekbar_track_material: number;
+ public static abc_spinner_mtrl_am_alpha: number;
+ public static abc_spinner_textfield_background_material: number;
+ public static abc_switch_thumb_material: number;
+ public static abc_switch_track_mtrl_alpha: number;
+ public static abc_tab_indicator_material: number;
+ public static abc_tab_indicator_mtrl_alpha: number;
+ public static abc_text_cursor_material: number;
+ public static abc_text_select_handle_left_mtrl_dark: number;
+ public static abc_text_select_handle_left_mtrl_light: number;
+ public static abc_text_select_handle_middle_mtrl_dark: number;
+ public static abc_text_select_handle_middle_mtrl_light: number;
+ public static abc_text_select_handle_right_mtrl_dark: number;
+ public static abc_text_select_handle_right_mtrl_light: number;
+ public static abc_textfield_activated_mtrl_alpha: number;
+ public static abc_textfield_default_mtrl_alpha: number;
+ public static abc_textfield_search_activated_mtrl_alpha: number;
+ public static abc_textfield_search_default_mtrl_alpha: number;
+ public static abc_textfield_search_material: number;
+ public static abc_vector_test: number;
+ public static btn_checkbox_checked_mtrl: number;
+ public static btn_checkbox_checked_to_unchecked_mtrl_animation: number;
+ public static btn_checkbox_unchecked_mtrl: number;
+ public static btn_checkbox_unchecked_to_checked_mtrl_animation: number;
+ public static btn_radio_off_mtrl: number;
+ public static btn_radio_off_to_on_mtrl_animation: number;
+ public static btn_radio_on_mtrl: number;
+ public static btn_radio_on_to_off_mtrl_animation: number;
+ public static notification_action_background: number;
+ public static notification_bg: number;
+ public static notification_bg_low: number;
+ public static notification_bg_low_normal: number;
+ public static notification_bg_low_pressed: number;
+ public static notification_bg_normal: number;
+ public static notification_bg_normal_pressed: number;
+ public static notification_icon_background: number;
+ public static notification_template_icon_bg: number;
+ public static notification_template_icon_low_bg: number;
+ public static notification_tile_bg: number;
+ public static notify_panel_notification_icon_bg: number;
+ public static tooltip_frame_dark: number;
+ public static tooltip_frame_light: number;
+ }
+ export class id extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static accessibility_action_clickable_span: number;
+ public static accessibility_custom_action_0: number;
+ public static accessibility_custom_action_1: number;
+ public static accessibility_custom_action_10: number;
+ public static accessibility_custom_action_11: number;
+ public static accessibility_custom_action_12: number;
+ public static accessibility_custom_action_13: number;
+ public static accessibility_custom_action_14: number;
+ public static accessibility_custom_action_15: number;
+ public static accessibility_custom_action_16: number;
+ public static accessibility_custom_action_17: number;
+ public static accessibility_custom_action_18: number;
+ public static accessibility_custom_action_19: number;
+ public static accessibility_custom_action_2: number;
+ public static accessibility_custom_action_20: number;
+ public static accessibility_custom_action_21: number;
+ public static accessibility_custom_action_22: number;
+ public static accessibility_custom_action_23: number;
+ public static accessibility_custom_action_24: number;
+ public static accessibility_custom_action_25: number;
+ public static accessibility_custom_action_26: number;
+ public static accessibility_custom_action_27: number;
+ public static accessibility_custom_action_28: number;
+ public static accessibility_custom_action_29: number;
+ public static accessibility_custom_action_3: number;
+ public static accessibility_custom_action_30: number;
+ public static accessibility_custom_action_31: number;
+ public static accessibility_custom_action_4: number;
+ public static accessibility_custom_action_5: number;
+ public static accessibility_custom_action_6: number;
+ public static accessibility_custom_action_7: number;
+ public static accessibility_custom_action_8: number;
+ public static accessibility_custom_action_9: number;
+ public static action_bar: number;
+ public static action_bar_activity_content: number;
+ public static action_bar_container: number;
+ public static action_bar_root: number;
+ public static action_bar_spinner: number;
+ public static action_bar_subtitle: number;
+ public static action_bar_title: number;
+ public static action_container: number;
+ public static action_context_bar: number;
+ public static action_divider: number;
+ public static action_image: number;
+ public static action_menu_divider: number;
+ public static action_menu_presenter: number;
+ public static action_mode_bar: number;
+ public static action_mode_bar_stub: number;
+ public static action_mode_close_button: number;
+ public static action_text: number;
+ public static actions: number;
+ public static activity_chooser_view_content: number;
+ public static add: number;
+ public static alertTitle: number;
+ public static async: number;
+ public static auto: number;
+ public static blocking: number;
+ public static bottom: number;
+ public static buttonPanel: number;
+ public static checkbox: number;
+ public static checked: number;
+ public static chronometer: number;
+ public static color: number;
+ public static content: number;
+ public static contentPanel: number;
+ public static custom: number;
+ public static customPanel: number;
+ public static decor_content_parent: number;
+ public static default_activity_button: number;
+ public static dialog_button: number;
+ public static drop: number;
+ public static edit_query: number;
+ public static end: number;
+ public static expand_activities_button: number;
+ public static expanded_menu: number;
+ public static fill: number;
+ public static forever: number;
+ public static group_divider: number;
+ public static home: number;
+ public static horizontal: number;
+ public static icon: number;
+ public static icon_group: number;
+ public static image: number;
+ public static info: number;
+ public static italic: number;
+ public static item_touch_helper_previous_elevation: number;
+ public static left: number;
+ public static line1: number;
+ public static line3: number;
+ public static listMode: number;
+ public static list_item: number;
+ public static message: number;
+ public static multiply: number;
+ public static none: number;
+ public static normal: number;
+ public static notification_background: number;
+ public static notification_main_column: number;
+ public static notification_main_column_container: number;
+ public static off: number;
+ public static on: number;
+ public static parentPanel: number;
+ public static progress_circular: number;
+ public static progress_horizontal: number;
+ public static radio: number;
+ public static right: number;
+ public static right_icon: number;
+ public static right_side: number;
+ public static scale: number;
+ public static scale_down: number;
+ public static screen: number;
+ public static scrollIndicatorDown: number;
+ public static scrollIndicatorUp: number;
+ public static scrollView: number;
+ public static search_badge: number;
+ public static search_bar: number;
+ public static search_button: number;
+ public static search_close_btn: number;
+ public static search_edit_frame: number;
+ public static search_go_btn: number;
+ public static search_mag_icon: number;
+ public static search_plate: number;
+ public static search_src_text: number;
+ public static search_voice_btn: number;
+ public static select_dialog_listview: number;
+ public static shortcut: number;
+ public static slide: number;
+ public static spacer: number;
+ public static split_action_bar: number;
+ public static src_atop: number;
+ public static src_in: number;
+ public static src_over: number;
+ public static start: number;
+ public static submenuarrow: number;
+ public static submit_area: number;
+ public static swap: number;
+ public static tabMode: number;
+ public static tag_accessibility_actions: number;
+ public static tag_accessibility_clickable_spans: number;
+ public static tag_accessibility_heading: number;
+ public static tag_accessibility_pane_title: number;
+ public static tag_screen_reader_focusable: number;
+ public static tag_transition_group: number;
+ public static tag_unhandled_key_event_manager: number;
+ public static tag_unhandled_key_listeners: number;
+ public static text: number;
+ public static text2: number;
+ public static textSpacerNoButtons: number;
+ public static textSpacerNoTitle: number;
+ public static thinWorm: number;
+ public static time: number;
+ public static title: number;
+ public static titleDividerNoCustom: number;
+ public static title_template: number;
+ public static top: number;
+ public static topPanel: number;
+ public static unchecked: number;
+ public static uniform: number;
+ public static up: number;
+ public static vertical: number;
+ public static worm: number;
+ public static wrap_content: number;
+ }
+ export class integer extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static abc_config_activityDefaultDur: number;
+ public static abc_config_activityShortDur: number;
+ public static cancel_button_image_alpha: number;
+ public static config_tooltipAnimTime: number;
+ public static status_bar_notification_info_maxnum: number;
+ }
+ export class interpolator extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static btn_checkbox_checked_mtrl_animation_interpolator_0: number;
+ public static btn_checkbox_checked_mtrl_animation_interpolator_1: number;
+ public static btn_checkbox_unchecked_mtrl_animation_interpolator_0: number;
+ public static btn_checkbox_unchecked_mtrl_animation_interpolator_1: number;
+ public static btn_radio_to_off_mtrl_animation_interpolator_0: number;
+ public static btn_radio_to_on_mtrl_animation_interpolator_0: number;
+ public static fast_out_slow_in: number;
+ }
+ export class layout extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static abc_action_bar_title_item: number;
+ public static abc_action_bar_up_container: number;
+ public static abc_action_menu_item_layout: number;
+ public static abc_action_menu_layout: number;
+ public static abc_action_mode_bar: number;
+ public static abc_action_mode_close_item_material: number;
+ public static abc_activity_chooser_view: number;
+ public static abc_activity_chooser_view_list_item: number;
+ public static abc_alert_dialog_button_bar_material: number;
+ public static abc_alert_dialog_material: number;
+ public static abc_alert_dialog_title_material: number;
+ public static abc_cascading_menu_item_layout: number;
+ public static abc_dialog_title_material: number;
+ public static abc_expanded_menu_layout: number;
+ public static abc_list_menu_item_checkbox: number;
+ public static abc_list_menu_item_icon: number;
+ public static abc_list_menu_item_layout: number;
+ public static abc_list_menu_item_radio: number;
+ public static abc_popup_menu_header_item_layout: number;
+ public static abc_popup_menu_item_layout: number;
+ public static abc_screen_content_include: number;
+ public static abc_screen_simple: number;
+ public static abc_screen_simple_overlay_action_mode: number;
+ public static abc_screen_toolbar: number;
+ public static abc_search_dropdown_item_icons_2line: number;
+ public static abc_search_view: number;
+ public static abc_select_dialog_material: number;
+ public static abc_tooltip: number;
+ public static custom_dialog: number;
+ public static notification_action: number;
+ public static notification_action_tombstone: number;
+ public static notification_template_custom_big: number;
+ public static notification_template_icon_group: number;
+ public static notification_template_part_chronometer: number;
+ public static notification_template_part_time: number;
+ public static select_dialog_item_material: number;
+ public static select_dialog_multichoice_material: number;
+ public static select_dialog_singlechoice_material: number;
+ public static support_simple_spinner_dropdown_item: number;
+ }
+ export class style extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static AlertDialog_AppCompat: number;
+ public static AlertDialog_AppCompat_Light: number;
+ public static Animation_AppCompat_Dialog: number;
+ public static Animation_AppCompat_DropDownUp: number;
+ public static Animation_AppCompat_Tooltip: number;
+ public static Base_AlertDialog_AppCompat: number;
+ public static Base_AlertDialog_AppCompat_Light: number;
+ public static Base_Animation_AppCompat_Dialog: number;
+ public static Base_Animation_AppCompat_DropDownUp: number;
+ public static Base_Animation_AppCompat_Tooltip: number;
+ public static Base_DialogWindowTitleBackground_AppCompat: number;
+ public static Base_DialogWindowTitle_AppCompat: number;
+ public static Base_TextAppearance_AppCompat: number;
+ public static Base_TextAppearance_AppCompat_Body1: number;
+ public static Base_TextAppearance_AppCompat_Body2: number;
+ public static Base_TextAppearance_AppCompat_Button: number;
+ public static Base_TextAppearance_AppCompat_Caption: number;
+ public static Base_TextAppearance_AppCompat_Display1: number;
+ public static Base_TextAppearance_AppCompat_Display2: number;
+ public static Base_TextAppearance_AppCompat_Display3: number;
+ public static Base_TextAppearance_AppCompat_Display4: number;
+ public static Base_TextAppearance_AppCompat_Headline: number;
+ public static Base_TextAppearance_AppCompat_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Large: number;
+ public static Base_TextAppearance_AppCompat_Large_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large: number;
+ public static Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small: number;
+ public static Base_TextAppearance_AppCompat_Medium: number;
+ public static Base_TextAppearance_AppCompat_Medium_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Menu: number;
+ public static Base_TextAppearance_AppCompat_SearchResult: number;
+ public static Base_TextAppearance_AppCompat_SearchResult_Subtitle: number;
+ public static Base_TextAppearance_AppCompat_SearchResult_Title: number;
+ public static Base_TextAppearance_AppCompat_Small: number;
+ public static Base_TextAppearance_AppCompat_Small_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Subhead: number;
+ public static Base_TextAppearance_AppCompat_Subhead_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Title: number;
+ public static Base_TextAppearance_AppCompat_Title_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Tooltip: number;
+ public static Base_TextAppearance_AppCompat_Widget_ActionBar_Menu: number;
+ public static Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle: number;
+ public static Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Widget_ActionBar_Title: number;
+ public static Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle: number;
+ public static Base_TextAppearance_AppCompat_Widget_ActionMode_Title: number;
+ public static Base_TextAppearance_AppCompat_Widget_Button: number;
+ public static Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored: number;
+ public static Base_TextAppearance_AppCompat_Widget_Button_Colored: number;
+ public static Base_TextAppearance_AppCompat_Widget_Button_Inverse: number;
+ public static Base_TextAppearance_AppCompat_Widget_DropDownItem: number;
+ public static Base_TextAppearance_AppCompat_Widget_PopupMenu_Header: number;
+ public static Base_TextAppearance_AppCompat_Widget_PopupMenu_Large: number;
+ public static Base_TextAppearance_AppCompat_Widget_PopupMenu_Small: number;
+ public static Base_TextAppearance_AppCompat_Widget_Switch: number;
+ public static Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem: number;
+ public static Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item: number;
+ public static Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle: number;
+ public static Base_TextAppearance_Widget_AppCompat_Toolbar_Title: number;
+ public static Base_ThemeOverlay_AppCompat: number;
+ public static Base_ThemeOverlay_AppCompat_ActionBar: number;
+ public static Base_ThemeOverlay_AppCompat_Dark: number;
+ public static Base_ThemeOverlay_AppCompat_Dark_ActionBar: number;
+ public static Base_ThemeOverlay_AppCompat_Dialog: number;
+ public static Base_ThemeOverlay_AppCompat_Dialog_Alert: number;
+ public static Base_ThemeOverlay_AppCompat_Light: number;
+ public static Base_Theme_AppCompat: number;
+ public static Base_Theme_AppCompat_CompactMenu: number;
+ public static Base_Theme_AppCompat_Dialog: number;
+ public static Base_Theme_AppCompat_DialogWhenLarge: number;
+ public static Base_Theme_AppCompat_Dialog_Alert: number;
+ public static Base_Theme_AppCompat_Dialog_FixedSize: number;
+ public static Base_Theme_AppCompat_Dialog_MinWidth: number;
+ public static Base_Theme_AppCompat_Light: number;
+ public static Base_Theme_AppCompat_Light_DarkActionBar: number;
+ public static Base_Theme_AppCompat_Light_Dialog: number;
+ public static Base_Theme_AppCompat_Light_DialogWhenLarge: number;
+ public static Base_Theme_AppCompat_Light_Dialog_Alert: number;
+ public static Base_Theme_AppCompat_Light_Dialog_FixedSize: number;
+ public static Base_Theme_AppCompat_Light_Dialog_MinWidth: number;
+ public static Base_V21_ThemeOverlay_AppCompat_Dialog: number;
+ public static Base_V21_Theme_AppCompat: number;
+ public static Base_V21_Theme_AppCompat_Dialog: number;
+ public static Base_V21_Theme_AppCompat_Light: number;
+ public static Base_V21_Theme_AppCompat_Light_Dialog: number;
+ public static Base_V22_Theme_AppCompat: number;
+ public static Base_V22_Theme_AppCompat_Light: number;
+ public static Base_V23_Theme_AppCompat: number;
+ public static Base_V23_Theme_AppCompat_Light: number;
+ public static Base_V26_Theme_AppCompat: number;
+ public static Base_V26_Theme_AppCompat_Light: number;
+ public static Base_V26_Widget_AppCompat_Toolbar: number;
+ public static Base_V28_Theme_AppCompat: number;
+ public static Base_V28_Theme_AppCompat_Light: number;
+ public static Base_V7_ThemeOverlay_AppCompat_Dialog: number;
+ public static Base_V7_Theme_AppCompat: number;
+ public static Base_V7_Theme_AppCompat_Dialog: number;
+ public static Base_V7_Theme_AppCompat_Light: number;
+ public static Base_V7_Theme_AppCompat_Light_Dialog: number;
+ public static Base_V7_Widget_AppCompat_AutoCompleteTextView: number;
+ public static Base_V7_Widget_AppCompat_EditText: number;
+ public static Base_V7_Widget_AppCompat_Toolbar: number;
+ public static Base_Widget_AppCompat_ActionBar: number;
+ public static Base_Widget_AppCompat_ActionBar_Solid: number;
+ public static Base_Widget_AppCompat_ActionBar_TabBar: number;
+ public static Base_Widget_AppCompat_ActionBar_TabText: number;
+ public static Base_Widget_AppCompat_ActionBar_TabView: number;
+ public static Base_Widget_AppCompat_ActionButton: number;
+ public static Base_Widget_AppCompat_ActionButton_CloseMode: number;
+ public static Base_Widget_AppCompat_ActionButton_Overflow: number;
+ public static Base_Widget_AppCompat_ActionMode: number;
+ public static Base_Widget_AppCompat_ActivityChooserView: number;
+ public static Base_Widget_AppCompat_AutoCompleteTextView: number;
+ public static Base_Widget_AppCompat_Button: number;
+ public static Base_Widget_AppCompat_ButtonBar: number;
+ public static Base_Widget_AppCompat_ButtonBar_AlertDialog: number;
+ public static Base_Widget_AppCompat_Button_Borderless: number;
+ public static Base_Widget_AppCompat_Button_Borderless_Colored: number;
+ public static Base_Widget_AppCompat_Button_ButtonBar_AlertDialog: number;
+ public static Base_Widget_AppCompat_Button_Colored: number;
+ public static Base_Widget_AppCompat_Button_Small: number;
+ public static Base_Widget_AppCompat_CompoundButton_CheckBox: number;
+ public static Base_Widget_AppCompat_CompoundButton_RadioButton: number;
+ public static Base_Widget_AppCompat_CompoundButton_Switch: number;
+ public static Base_Widget_AppCompat_DrawerArrowToggle: number;
+ public static Base_Widget_AppCompat_DrawerArrowToggle_Common: number;
+ public static Base_Widget_AppCompat_DropDownItem_Spinner: number;
+ public static Base_Widget_AppCompat_EditText: number;
+ public static Base_Widget_AppCompat_ImageButton: number;
+ public static Base_Widget_AppCompat_Light_ActionBar: number;
+ public static Base_Widget_AppCompat_Light_ActionBar_Solid: number;
+ public static Base_Widget_AppCompat_Light_ActionBar_TabBar: number;
+ public static Base_Widget_AppCompat_Light_ActionBar_TabText: number;
+ public static Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse: number;
+ public static Base_Widget_AppCompat_Light_ActionBar_TabView: number;
+ public static Base_Widget_AppCompat_Light_PopupMenu: number;
+ public static Base_Widget_AppCompat_Light_PopupMenu_Overflow: number;
+ public static Base_Widget_AppCompat_ListMenuView: number;
+ public static Base_Widget_AppCompat_ListPopupWindow: number;
+ public static Base_Widget_AppCompat_ListView: number;
+ public static Base_Widget_AppCompat_ListView_DropDown: number;
+ public static Base_Widget_AppCompat_ListView_Menu: number;
+ public static Base_Widget_AppCompat_PopupMenu: number;
+ public static Base_Widget_AppCompat_PopupMenu_Overflow: number;
+ public static Base_Widget_AppCompat_PopupWindow: number;
+ public static Base_Widget_AppCompat_ProgressBar: number;
+ public static Base_Widget_AppCompat_ProgressBar_Horizontal: number;
+ public static Base_Widget_AppCompat_RatingBar: number;
+ public static Base_Widget_AppCompat_RatingBar_Indicator: number;
+ public static Base_Widget_AppCompat_RatingBar_Small: number;
+ public static Base_Widget_AppCompat_SearchView: number;
+ public static Base_Widget_AppCompat_SearchView_ActionBar: number;
+ public static Base_Widget_AppCompat_SeekBar: number;
+ public static Base_Widget_AppCompat_SeekBar_Discrete: number;
+ public static Base_Widget_AppCompat_Spinner: number;
+ public static Base_Widget_AppCompat_Spinner_Underlined: number;
+ public static Base_Widget_AppCompat_TextView: number;
+ public static Base_Widget_AppCompat_TextView_SpinnerItem: number;
+ public static Base_Widget_AppCompat_Toolbar: number;
+ public static Base_Widget_AppCompat_Toolbar_Button_Navigation: number;
+ public static Platform_AppCompat: number;
+ public static Platform_AppCompat_Light: number;
+ public static Platform_ThemeOverlay_AppCompat: number;
+ public static Platform_ThemeOverlay_AppCompat_Dark: number;
+ public static Platform_ThemeOverlay_AppCompat_Light: number;
+ public static Platform_V21_AppCompat: number;
+ public static Platform_V21_AppCompat_Light: number;
+ public static Platform_V25_AppCompat: number;
+ public static Platform_V25_AppCompat_Light: number;
+ public static Platform_Widget_AppCompat_Spinner: number;
+ public static RtlOverlay_DialogWindowTitle_AppCompat: number;
+ public static RtlOverlay_Widget_AppCompat_ActionBar_TitleItem: number;
+ public static RtlOverlay_Widget_AppCompat_DialogTitle_Icon: number;
+ public static RtlOverlay_Widget_AppCompat_PopupMenuItem: number;
+ public static RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup: number;
+ public static RtlOverlay_Widget_AppCompat_PopupMenuItem_Shortcut: number;
+ public static RtlOverlay_Widget_AppCompat_PopupMenuItem_SubmenuArrow: number;
+ public static RtlOverlay_Widget_AppCompat_PopupMenuItem_Text: number;
+ public static RtlOverlay_Widget_AppCompat_PopupMenuItem_Title: number;
+ public static RtlOverlay_Widget_AppCompat_SearchView_MagIcon: number;
+ public static RtlOverlay_Widget_AppCompat_Search_DropDown: number;
+ public static RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1: number;
+ public static RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2: number;
+ public static RtlOverlay_Widget_AppCompat_Search_DropDown_Query: number;
+ public static RtlOverlay_Widget_AppCompat_Search_DropDown_Text: number;
+ public static RtlUnderlay_Widget_AppCompat_ActionButton: number;
+ public static RtlUnderlay_Widget_AppCompat_ActionButton_Overflow: number;
+ public static TextAppearance_AppCompat: number;
+ public static TextAppearance_AppCompat_Body1: number;
+ public static TextAppearance_AppCompat_Body2: number;
+ public static TextAppearance_AppCompat_Button: number;
+ public static TextAppearance_AppCompat_Caption: number;
+ public static TextAppearance_AppCompat_Display1: number;
+ public static TextAppearance_AppCompat_Display2: number;
+ public static TextAppearance_AppCompat_Display3: number;
+ public static TextAppearance_AppCompat_Display4: number;
+ public static TextAppearance_AppCompat_Headline: number;
+ public static TextAppearance_AppCompat_Inverse: number;
+ public static TextAppearance_AppCompat_Large: number;
+ public static TextAppearance_AppCompat_Large_Inverse: number;
+ public static TextAppearance_AppCompat_Light_SearchResult_Subtitle: number;
+ public static TextAppearance_AppCompat_Light_SearchResult_Title: number;
+ public static TextAppearance_AppCompat_Light_Widget_PopupMenu_Large: number;
+ public static TextAppearance_AppCompat_Light_Widget_PopupMenu_Small: number;
+ public static TextAppearance_AppCompat_Medium: number;
+ public static TextAppearance_AppCompat_Medium_Inverse: number;
+ public static TextAppearance_AppCompat_Menu: number;
+ public static TextAppearance_AppCompat_SearchResult_Subtitle: number;
+ public static TextAppearance_AppCompat_SearchResult_Title: number;
+ public static TextAppearance_AppCompat_Small: number;
+ public static TextAppearance_AppCompat_Small_Inverse: number;
+ public static TextAppearance_AppCompat_Subhead: number;
+ public static TextAppearance_AppCompat_Subhead_Inverse: number;
+ public static TextAppearance_AppCompat_Title: number;
+ public static TextAppearance_AppCompat_Title_Inverse: number;
+ public static TextAppearance_AppCompat_Tooltip: number;
+ public static TextAppearance_AppCompat_Widget_ActionBar_Menu: number;
+ public static TextAppearance_AppCompat_Widget_ActionBar_Subtitle: number;
+ public static TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse: number;
+ public static TextAppearance_AppCompat_Widget_ActionBar_Title: number;
+ public static TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse: number;
+ public static TextAppearance_AppCompat_Widget_ActionMode_Subtitle: number;
+ public static TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse: number;
+ public static TextAppearance_AppCompat_Widget_ActionMode_Title: number;
+ public static TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse: number;
+ public static TextAppearance_AppCompat_Widget_Button: number;
+ public static TextAppearance_AppCompat_Widget_Button_Borderless_Colored: number;
+ public static TextAppearance_AppCompat_Widget_Button_Colored: number;
+ public static TextAppearance_AppCompat_Widget_Button_Inverse: number;
+ public static TextAppearance_AppCompat_Widget_DropDownItem: number;
+ public static TextAppearance_AppCompat_Widget_PopupMenu_Header: number;
+ public static TextAppearance_AppCompat_Widget_PopupMenu_Large: number;
+ public static TextAppearance_AppCompat_Widget_PopupMenu_Small: number;
+ public static TextAppearance_AppCompat_Widget_Switch: number;
+ public static TextAppearance_AppCompat_Widget_TextView_SpinnerItem: number;
+ public static TextAppearance_Compat_Notification: number;
+ public static TextAppearance_Compat_Notification_Info: number;
+ public static TextAppearance_Compat_Notification_Line2: number;
+ public static TextAppearance_Compat_Notification_Time: number;
+ public static TextAppearance_Compat_Notification_Title: number;
+ public static TextAppearance_Widget_AppCompat_ExpandedMenu_Item: number;
+ public static TextAppearance_Widget_AppCompat_Toolbar_Subtitle: number;
+ public static TextAppearance_Widget_AppCompat_Toolbar_Title: number;
+ public static ThemeOverlay_AppCompat: number;
+ public static ThemeOverlay_AppCompat_ActionBar: number;
+ public static ThemeOverlay_AppCompat_Dark: number;
+ public static ThemeOverlay_AppCompat_Dark_ActionBar: number;
+ public static ThemeOverlay_AppCompat_Dialog: number;
+ public static ThemeOverlay_AppCompat_Dialog_Alert: number;
+ public static ThemeOverlay_AppCompat_Light: number;
+ public static Theme_AppCompat: number;
+ public static Theme_AppCompat_CompactMenu: number;
+ public static Theme_AppCompat_DayNight: number;
+ public static Theme_AppCompat_DayNight_DarkActionBar: number;
+ public static Theme_AppCompat_DayNight_Dialog: number;
+ public static Theme_AppCompat_DayNight_DialogWhenLarge: number;
+ public static Theme_AppCompat_DayNight_Dialog_Alert: number;
+ public static Theme_AppCompat_DayNight_Dialog_MinWidth: number;
+ public static Theme_AppCompat_DayNight_NoActionBar: number;
+ public static Theme_AppCompat_Dialog: number;
+ public static Theme_AppCompat_DialogWhenLarge: number;
+ public static Theme_AppCompat_Dialog_Alert: number;
+ public static Theme_AppCompat_Dialog_MinWidth: number;
+ public static Theme_AppCompat_Light: number;
+ public static Theme_AppCompat_Light_DarkActionBar: number;
+ public static Theme_AppCompat_Light_Dialog: number;
+ public static Theme_AppCompat_Light_DialogWhenLarge: number;
+ public static Theme_AppCompat_Light_Dialog_Alert: number;
+ public static Theme_AppCompat_Light_Dialog_MinWidth: number;
+ public static Theme_AppCompat_Light_NoActionBar: number;
+ public static Theme_AppCompat_NoActionBar: number;
+ public static Widget_AppCompat_ActionBar: number;
+ public static Widget_AppCompat_ActionBar_Solid: number;
+ public static Widget_AppCompat_ActionBar_TabBar: number;
+ public static Widget_AppCompat_ActionBar_TabText: number;
+ public static Widget_AppCompat_ActionBar_TabView: number;
+ public static Widget_AppCompat_ActionButton: number;
+ public static Widget_AppCompat_ActionButton_CloseMode: number;
+ public static Widget_AppCompat_ActionButton_Overflow: number;
+ public static Widget_AppCompat_ActionMode: number;
+ public static Widget_AppCompat_ActivityChooserView: number;
+ public static Widget_AppCompat_AutoCompleteTextView: number;
+ public static Widget_AppCompat_Button: number;
+ public static Widget_AppCompat_ButtonBar: number;
+ public static Widget_AppCompat_ButtonBar_AlertDialog: number;
+ public static Widget_AppCompat_Button_Borderless: number;
+ public static Widget_AppCompat_Button_Borderless_Colored: number;
+ public static Widget_AppCompat_Button_ButtonBar_AlertDialog: number;
+ public static Widget_AppCompat_Button_Colored: number;
+ public static Widget_AppCompat_Button_Small: number;
+ public static Widget_AppCompat_CompoundButton_CheckBox: number;
+ public static Widget_AppCompat_CompoundButton_RadioButton: number;
+ public static Widget_AppCompat_CompoundButton_Switch: number;
+ public static Widget_AppCompat_DrawerArrowToggle: number;
+ public static Widget_AppCompat_DropDownItem_Spinner: number;
+ public static Widget_AppCompat_EditText: number;
+ public static Widget_AppCompat_ImageButton: number;
+ public static Widget_AppCompat_Light_ActionBar: number;
+ public static Widget_AppCompat_Light_ActionBar_Solid: number;
+ public static Widget_AppCompat_Light_ActionBar_Solid_Inverse: number;
+ public static Widget_AppCompat_Light_ActionBar_TabBar: number;
+ public static Widget_AppCompat_Light_ActionBar_TabBar_Inverse: number;
+ public static Widget_AppCompat_Light_ActionBar_TabText: number;
+ public static Widget_AppCompat_Light_ActionBar_TabText_Inverse: number;
+ public static Widget_AppCompat_Light_ActionBar_TabView: number;
+ public static Widget_AppCompat_Light_ActionBar_TabView_Inverse: number;
+ public static Widget_AppCompat_Light_ActionButton: number;
+ public static Widget_AppCompat_Light_ActionButton_CloseMode: number;
+ public static Widget_AppCompat_Light_ActionButton_Overflow: number;
+ public static Widget_AppCompat_Light_ActionMode_Inverse: number;
+ public static Widget_AppCompat_Light_ActivityChooserView: number;
+ public static Widget_AppCompat_Light_AutoCompleteTextView: number;
+ public static Widget_AppCompat_Light_DropDownItem_Spinner: number;
+ public static Widget_AppCompat_Light_ListPopupWindow: number;
+ public static Widget_AppCompat_Light_ListView_DropDown: number;
+ public static Widget_AppCompat_Light_PopupMenu: number;
+ public static Widget_AppCompat_Light_PopupMenu_Overflow: number;
+ public static Widget_AppCompat_Light_SearchView: number;
+ public static Widget_AppCompat_Light_Spinner_DropDown_ActionBar: number;
+ public static Widget_AppCompat_ListMenuView: number;
+ public static Widget_AppCompat_ListPopupWindow: number;
+ public static Widget_AppCompat_ListView: number;
+ public static Widget_AppCompat_ListView_DropDown: number;
+ public static Widget_AppCompat_ListView_Menu: number;
+ public static Widget_AppCompat_PopupMenu: number;
+ public static Widget_AppCompat_PopupMenu_Overflow: number;
+ public static Widget_AppCompat_PopupWindow: number;
+ public static Widget_AppCompat_ProgressBar: number;
+ public static Widget_AppCompat_ProgressBar_Horizontal: number;
+ public static Widget_AppCompat_RatingBar: number;
+ public static Widget_AppCompat_RatingBar_Indicator: number;
+ public static Widget_AppCompat_RatingBar_Small: number;
+ public static Widget_AppCompat_SearchView: number;
+ public static Widget_AppCompat_SearchView_ActionBar: number;
+ public static Widget_AppCompat_SeekBar: number;
+ public static Widget_AppCompat_SeekBar_Discrete: number;
+ public static Widget_AppCompat_Spinner: number;
+ public static Widget_AppCompat_Spinner_DropDown: number;
+ public static Widget_AppCompat_Spinner_DropDown_ActionBar: number;
+ public static Widget_AppCompat_Spinner_Underlined: number;
+ public static Widget_AppCompat_TextView: number;
+ public static Widget_AppCompat_TextView_SpinnerItem: number;
+ public static Widget_AppCompat_Toolbar: number;
+ public static Widget_AppCompat_Toolbar_Button_Navigation: number;
+ public static Widget_Compat_NotificationActionContainer: number;
+ public static Widget_Compat_NotificationActionText: number;
+ public static Widget_Support_CoordinatorLayout: number;
+ }
+ export class styleable extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static ActionBar: androidNative.Array;
+ public static ActionBar_background: number;
+ public static ActionBar_backgroundSplit: number;
+ public static ActionBar_backgroundStacked: number;
+ public static ActionBar_contentInsetEnd: number;
+ public static ActionBar_contentInsetEndWithActions: number;
+ public static ActionBar_contentInsetLeft: number;
+ public static ActionBar_contentInsetRight: number;
+ public static ActionBar_contentInsetStart: number;
+ public static ActionBar_contentInsetStartWithNavigation: number;
+ public static ActionBar_customNavigationLayout: number;
+ public static ActionBar_displayOptions: number;
+ public static ActionBar_divider: number;
+ public static ActionBar_elevation: number;
+ public static ActionBar_height: number;
+ public static ActionBar_hideOnContentScroll: number;
+ public static ActionBar_homeAsUpIndicator: number;
+ public static ActionBar_homeLayout: number;
+ public static ActionBar_icon: number;
+ public static ActionBar_indeterminateProgressStyle: number;
+ public static ActionBar_itemPadding: number;
+ public static ActionBar_logo: number;
+ public static ActionBar_navigationMode: number;
+ public static ActionBar_popupTheme: number;
+ public static ActionBar_progressBarPadding: number;
+ public static ActionBar_progressBarStyle: number;
+ public static ActionBar_subtitle: number;
+ public static ActionBar_subtitleTextStyle: number;
+ public static ActionBar_title: number;
+ public static ActionBar_titleTextStyle: number;
+ public static ActionBarLayout: androidNative.Array;
+ public static ActionBarLayout_android_layout_gravity: number;
+ public static ActionMenuItemView: androidNative.Array;
+ public static ActionMenuItemView_android_minWidth: number;
+ public static ActionMenuView: androidNative.Array;
+ public static ActionMode: androidNative.Array;
+ public static ActionMode_background: number;
+ public static ActionMode_backgroundSplit: number;
+ public static ActionMode_closeItemLayout: number;
+ public static ActionMode_height: number;
+ public static ActionMode_subtitleTextStyle: number;
+ public static ActionMode_titleTextStyle: number;
+ public static ActivityChooserView: androidNative.Array;
+ public static ActivityChooserView_expandActivityOverflowButtonDrawable: number;
+ public static ActivityChooserView_initialActivityCount: number;
+ public static AlertDialog: androidNative.Array;
+ public static AlertDialog_android_layout: number;
+ public static AlertDialog_buttonIconDimen: number;
+ public static AlertDialog_buttonPanelSideLayout: number;
+ public static AlertDialog_listItemLayout: number;
+ public static AlertDialog_listLayout: number;
+ public static AlertDialog_multiChoiceItemLayout: number;
+ public static AlertDialog_showTitle: number;
+ public static AlertDialog_singleChoiceItemLayout: number;
+ public static AnimatedStateListDrawableCompat: androidNative.Array;
+ public static AnimatedStateListDrawableCompat_android_constantSize: number;
+ public static AnimatedStateListDrawableCompat_android_dither: number;
+ public static AnimatedStateListDrawableCompat_android_enterFadeDuration: number;
+ public static AnimatedStateListDrawableCompat_android_exitFadeDuration: number;
+ public static AnimatedStateListDrawableCompat_android_variablePadding: number;
+ public static AnimatedStateListDrawableCompat_android_visible: number;
+ public static AnimatedStateListDrawableItem: androidNative.Array;
+ public static AnimatedStateListDrawableItem_android_drawable: number;
+ public static AnimatedStateListDrawableItem_android_id: number;
+ public static AnimatedStateListDrawableTransition: androidNative.Array;
+ public static AnimatedStateListDrawableTransition_android_drawable: number;
+ public static AnimatedStateListDrawableTransition_android_fromId: number;
+ public static AnimatedStateListDrawableTransition_android_reversible: number;
+ public static AnimatedStateListDrawableTransition_android_toId: number;
+ public static AppCompatImageView: androidNative.Array;
+ public static AppCompatImageView_android_src: number;
+ public static AppCompatImageView_srcCompat: number;
+ public static AppCompatImageView_tint: number;
+ public static AppCompatImageView_tintMode: number;
+ public static AppCompatSeekBar: androidNative.Array;
+ public static AppCompatSeekBar_android_thumb: number;
+ public static AppCompatSeekBar_tickMark: number;
+ public static AppCompatSeekBar_tickMarkTint: number;
+ public static AppCompatSeekBar_tickMarkTintMode: number;
+ public static AppCompatTextHelper: androidNative.Array;
+ public static AppCompatTextHelper_android_drawableBottom: number;
+ public static AppCompatTextHelper_android_drawableEnd: number;
+ public static AppCompatTextHelper_android_drawableLeft: number;
+ public static AppCompatTextHelper_android_drawableRight: number;
+ public static AppCompatTextHelper_android_drawableStart: number;
+ public static AppCompatTextHelper_android_drawableTop: number;
+ public static AppCompatTextHelper_android_textAppearance: number;
+ public static AppCompatTextView: androidNative.Array;
+ public static AppCompatTextView_android_textAppearance: number;
+ public static AppCompatTextView_autoSizeMaxTextSize: number;
+ public static AppCompatTextView_autoSizeMinTextSize: number;
+ public static AppCompatTextView_autoSizePresetSizes: number;
+ public static AppCompatTextView_autoSizeStepGranularity: number;
+ public static AppCompatTextView_autoSizeTextType: number;
+ public static AppCompatTextView_drawableBottomCompat: number;
+ public static AppCompatTextView_drawableEndCompat: number;
+ public static AppCompatTextView_drawableLeftCompat: number;
+ public static AppCompatTextView_drawableRightCompat: number;
+ public static AppCompatTextView_drawableStartCompat: number;
+ public static AppCompatTextView_drawableTopCompat: number;
+ public static AppCompatTextView_firstBaselineToTopHeight: number;
+ public static AppCompatTextView_fontFamily: number;
+ public static AppCompatTextView_fontVariationSettings: number;
+ public static AppCompatTextView_lastBaselineToBottomHeight: number;
+ public static AppCompatTextView_lineHeight: number;
+ public static AppCompatTextView_textAllCaps: number;
+ public static AppCompatTextView_textLocale: number;
+ public static AppCompatTheme: androidNative.Array;
+ public static AppCompatTheme_actionBarDivider: number;
+ public static AppCompatTheme_actionBarItemBackground: number;
+ public static AppCompatTheme_actionBarPopupTheme: number;
+ public static AppCompatTheme_actionBarSize: number;
+ public static AppCompatTheme_actionBarSplitStyle: number;
+ public static AppCompatTheme_actionBarStyle: number;
+ public static AppCompatTheme_actionBarTabBarStyle: number;
+ public static AppCompatTheme_actionBarTabStyle: number;
+ public static AppCompatTheme_actionBarTabTextStyle: number;
+ public static AppCompatTheme_actionBarTheme: number;
+ public static AppCompatTheme_actionBarWidgetTheme: number;
+ public static AppCompatTheme_actionButtonStyle: number;
+ public static AppCompatTheme_actionDropDownStyle: number;
+ public static AppCompatTheme_actionMenuTextAppearance: number;
+ public static AppCompatTheme_actionMenuTextColor: number;
+ public static AppCompatTheme_actionModeBackground: number;
+ public static AppCompatTheme_actionModeCloseButtonStyle: number;
+ public static AppCompatTheme_actionModeCloseDrawable: number;
+ public static AppCompatTheme_actionModeCopyDrawable: number;
+ public static AppCompatTheme_actionModeCutDrawable: number;
+ public static AppCompatTheme_actionModeFindDrawable: number;
+ public static AppCompatTheme_actionModePasteDrawable: number;
+ public static AppCompatTheme_actionModePopupWindowStyle: number;
+ public static AppCompatTheme_actionModeSelectAllDrawable: number;
+ public static AppCompatTheme_actionModeShareDrawable: number;
+ public static AppCompatTheme_actionModeSplitBackground: number;
+ public static AppCompatTheme_actionModeStyle: number;
+ public static AppCompatTheme_actionModeWebSearchDrawable: number;
+ public static AppCompatTheme_actionOverflowButtonStyle: number;
+ public static AppCompatTheme_actionOverflowMenuStyle: number;
+ public static AppCompatTheme_activityChooserViewStyle: number;
+ public static AppCompatTheme_alertDialogButtonGroupStyle: number;
+ public static AppCompatTheme_alertDialogCenterButtons: number;
+ public static AppCompatTheme_alertDialogStyle: number;
+ public static AppCompatTheme_alertDialogTheme: number;
+ public static AppCompatTheme_android_windowAnimationStyle: number;
+ public static AppCompatTheme_android_windowIsFloating: number;
+ public static AppCompatTheme_autoCompleteTextViewStyle: number;
+ public static AppCompatTheme_borderlessButtonStyle: number;
+ public static AppCompatTheme_buttonBarButtonStyle: number;
+ public static AppCompatTheme_buttonBarNegativeButtonStyle: number;
+ public static AppCompatTheme_buttonBarNeutralButtonStyle: number;
+ public static AppCompatTheme_buttonBarPositiveButtonStyle: number;
+ public static AppCompatTheme_buttonBarStyle: number;
+ public static AppCompatTheme_buttonStyle: number;
+ public static AppCompatTheme_buttonStyleSmall: number;
+ public static AppCompatTheme_checkboxStyle: number;
+ public static AppCompatTheme_checkedTextViewStyle: number;
+ public static AppCompatTheme_colorAccent: number;
+ public static AppCompatTheme_colorBackgroundFloating: number;
+ public static AppCompatTheme_colorButtonNormal: number;
+ public static AppCompatTheme_colorControlActivated: number;
+ public static AppCompatTheme_colorControlHighlight: number;
+ public static AppCompatTheme_colorControlNormal: number;
+ public static AppCompatTheme_colorError: number;
+ public static AppCompatTheme_colorPrimary: number;
+ public static AppCompatTheme_colorPrimaryDark: number;
+ public static AppCompatTheme_colorSwitchThumbNormal: number;
+ public static AppCompatTheme_controlBackground: number;
+ public static AppCompatTheme_dialogCornerRadius: number;
+ public static AppCompatTheme_dialogPreferredPadding: number;
+ public static AppCompatTheme_dialogTheme: number;
+ public static AppCompatTheme_dividerHorizontal: number;
+ public static AppCompatTheme_dividerVertical: number;
+ public static AppCompatTheme_dropDownListViewStyle: number;
+ public static AppCompatTheme_dropdownListPreferredItemHeight: number;
+ public static AppCompatTheme_editTextBackground: number;
+ public static AppCompatTheme_editTextColor: number;
+ public static AppCompatTheme_editTextStyle: number;
+ public static AppCompatTheme_homeAsUpIndicator: number;
+ public static AppCompatTheme_imageButtonStyle: number;
+ public static AppCompatTheme_listChoiceBackgroundIndicator: number;
+ public static AppCompatTheme_listChoiceIndicatorMultipleAnimated: number;
+ public static AppCompatTheme_listChoiceIndicatorSingleAnimated: number;
+ public static AppCompatTheme_listDividerAlertDialog: number;
+ public static AppCompatTheme_listMenuViewStyle: number;
+ public static AppCompatTheme_listPopupWindowStyle: number;
+ public static AppCompatTheme_listPreferredItemHeight: number;
+ public static AppCompatTheme_listPreferredItemHeightLarge: number;
+ public static AppCompatTheme_listPreferredItemHeightSmall: number;
+ public static AppCompatTheme_listPreferredItemPaddingEnd: number;
+ public static AppCompatTheme_listPreferredItemPaddingLeft: number;
+ public static AppCompatTheme_listPreferredItemPaddingRight: number;
+ public static AppCompatTheme_listPreferredItemPaddingStart: number;
+ public static AppCompatTheme_panelBackground: number;
+ public static AppCompatTheme_panelMenuListTheme: number;
+ public static AppCompatTheme_panelMenuListWidth: number;
+ public static AppCompatTheme_popupMenuStyle: number;
+ public static AppCompatTheme_popupWindowStyle: number;
+ public static AppCompatTheme_radioButtonStyle: number;
+ public static AppCompatTheme_ratingBarStyle: number;
+ public static AppCompatTheme_ratingBarStyleIndicator: number;
+ public static AppCompatTheme_ratingBarStyleSmall: number;
+ public static AppCompatTheme_searchViewStyle: number;
+ public static AppCompatTheme_seekBarStyle: number;
+ public static AppCompatTheme_selectableItemBackground: number;
+ public static AppCompatTheme_selectableItemBackgroundBorderless: number;
+ public static AppCompatTheme_spinnerDropDownItemStyle: number;
+ public static AppCompatTheme_spinnerStyle: number;
+ public static AppCompatTheme_switchStyle: number;
+ public static AppCompatTheme_textAppearanceLargePopupMenu: number;
+ public static AppCompatTheme_textAppearanceListItem: number;
+ public static AppCompatTheme_textAppearanceListItemSecondary: number;
+ public static AppCompatTheme_textAppearanceListItemSmall: number;
+ public static AppCompatTheme_textAppearancePopupMenuHeader: number;
+ public static AppCompatTheme_textAppearanceSearchResultSubtitle: number;
+ public static AppCompatTheme_textAppearanceSearchResultTitle: number;
+ public static AppCompatTheme_textAppearanceSmallPopupMenu: number;
+ public static AppCompatTheme_textColorAlertDialogListItem: number;
+ public static AppCompatTheme_textColorSearchUrl: number;
+ public static AppCompatTheme_toolbarNavigationButtonStyle: number;
+ public static AppCompatTheme_toolbarStyle: number;
+ public static AppCompatTheme_tooltipForegroundColor: number;
+ public static AppCompatTheme_tooltipFrameBackground: number;
+ public static AppCompatTheme_viewInflaterClass: number;
+ public static AppCompatTheme_windowActionBar: number;
+ public static AppCompatTheme_windowActionBarOverlay: number;
+ public static AppCompatTheme_windowActionModeOverlay: number;
+ public static AppCompatTheme_windowFixedHeightMajor: number;
+ public static AppCompatTheme_windowFixedHeightMinor: number;
+ public static AppCompatTheme_windowFixedWidthMajor: number;
+ public static AppCompatTheme_windowFixedWidthMinor: number;
+ public static AppCompatTheme_windowMinWidthMajor: number;
+ public static AppCompatTheme_windowMinWidthMinor: number;
+ public static AppCompatTheme_windowNoTitle: number;
+ public static ButtonBarLayout: androidNative.Array;
+ public static ButtonBarLayout_allowStacking: number;
+ public static ColorStateListItem: androidNative.Array;
+ public static ColorStateListItem_alpha: number;
+ public static ColorStateListItem_android_alpha: number;
+ public static ColorStateListItem_android_color: number;
+ public static CompoundButton: androidNative.Array;
+ public static CompoundButton_android_button: number;
+ public static CompoundButton_buttonCompat: number;
+ public static CompoundButton_buttonTint: number;
+ public static CompoundButton_buttonTintMode: number;
+ public static CoordinatorLayout: androidNative.Array;
+ public static CoordinatorLayout_keylines: number;
+ public static CoordinatorLayout_statusBarBackground: number;
+ public static CoordinatorLayout_Layout: androidNative.Array;
+ public static CoordinatorLayout_Layout_android_layout_gravity: number;
+ public static CoordinatorLayout_Layout_layout_anchor: number;
+ public static CoordinatorLayout_Layout_layout_anchorGravity: number;
+ public static CoordinatorLayout_Layout_layout_behavior: number;
+ public static CoordinatorLayout_Layout_layout_dodgeInsetEdges: number;
+ public static CoordinatorLayout_Layout_layout_insetEdge: number;
+ public static CoordinatorLayout_Layout_layout_keyline: number;
+ public static DrawerArrowToggle: androidNative.Array;
+ public static DrawerArrowToggle_arrowHeadLength: number;
+ public static DrawerArrowToggle_arrowShaftLength: number;
+ public static DrawerArrowToggle_barLength: number;
+ public static DrawerArrowToggle_color: number;
+ public static DrawerArrowToggle_drawableSize: number;
+ public static DrawerArrowToggle_gapBetweenBars: number;
+ public static DrawerArrowToggle_spinBars: number;
+ public static DrawerArrowToggle_thickness: number;
+ public static FontFamily: androidNative.Array;
+ public static FontFamily_fontProviderAuthority: number;
+ public static FontFamily_fontProviderCerts: number;
+ public static FontFamily_fontProviderFetchStrategy: number;
+ public static FontFamily_fontProviderFetchTimeout: number;
+ public static FontFamily_fontProviderPackage: number;
+ public static FontFamily_fontProviderQuery: number;
+ public static FontFamilyFont: androidNative.Array;
+ public static FontFamilyFont_android_font: number;
+ public static FontFamilyFont_android_fontStyle: number;
+ public static FontFamilyFont_android_fontVariationSettings: number;
+ public static FontFamilyFont_android_fontWeight: number;
+ public static FontFamilyFont_android_ttcIndex: number;
+ public static FontFamilyFont_font: number;
+ public static FontFamilyFont_fontStyle: number;
+ public static FontFamilyFont_fontVariationSettings: number;
+ public static FontFamilyFont_fontWeight: number;
+ public static FontFamilyFont_ttcIndex: number;
+ public static GradientColor: androidNative.Array;
+ public static GradientColor_android_centerColor: number;
+ public static GradientColor_android_centerX: number;
+ public static GradientColor_android_centerY: number;
+ public static GradientColor_android_endColor: number;
+ public static GradientColor_android_endX: number;
+ public static GradientColor_android_endY: number;
+ public static GradientColor_android_gradientRadius: number;
+ public static GradientColor_android_startColor: number;
+ public static GradientColor_android_startX: number;
+ public static GradientColor_android_startY: number;
+ public static GradientColor_android_tileMode: number;
+ public static GradientColor_android_type: number;
+ public static GradientColorItem: androidNative.Array;
+ public static GradientColorItem_android_color: number;
+ public static GradientColorItem_android_offset: number;
+ public static LinearLayoutCompat: androidNative.Array;
+ public static LinearLayoutCompat_android_baselineAligned: number;
+ public static LinearLayoutCompat_android_baselineAlignedChildIndex: number;
+ public static LinearLayoutCompat_android_gravity: number;
+ public static LinearLayoutCompat_android_orientation: number;
+ public static LinearLayoutCompat_android_weightSum: number;
+ public static LinearLayoutCompat_divider: number;
+ public static LinearLayoutCompat_dividerPadding: number;
+ public static LinearLayoutCompat_measureWithLargestChild: number;
+ public static LinearLayoutCompat_showDividers: number;
+ public static LinearLayoutCompat_Layout: androidNative.Array;
+ public static LinearLayoutCompat_Layout_android_layout_gravity: number;
+ public static LinearLayoutCompat_Layout_android_layout_height: number;
+ public static LinearLayoutCompat_Layout_android_layout_weight: number;
+ public static LinearLayoutCompat_Layout_android_layout_width: number;
+ public static ListPopupWindow: androidNative.Array;
+ public static ListPopupWindow_android_dropDownHorizontalOffset: number;
+ public static ListPopupWindow_android_dropDownVerticalOffset: number;
+ public static MenuGroup: androidNative.Array;
+ public static MenuGroup_android_checkableBehavior: number;
+ public static MenuGroup_android_enabled: number;
+ public static MenuGroup_android_id: number;
+ public static MenuGroup_android_menuCategory: number;
+ public static MenuGroup_android_orderInCategory: number;
+ public static MenuGroup_android_visible: number;
+ public static MenuItem: androidNative.Array;
+ public static MenuItem_actionLayout: number;
+ public static MenuItem_actionProviderClass: number;
+ public static MenuItem_actionViewClass: number;
+ public static MenuItem_alphabeticModifiers: number;
+ public static MenuItem_android_alphabeticShortcut: number;
+ public static MenuItem_android_checkable: number;
+ public static MenuItem_android_checked: number;
+ public static MenuItem_android_enabled: number;
+ public static MenuItem_android_icon: number;
+ public static MenuItem_android_id: number;
+ public static MenuItem_android_menuCategory: number;
+ public static MenuItem_android_numericShortcut: number;
+ public static MenuItem_android_onClick: number;
+ public static MenuItem_android_orderInCategory: number;
+ public static MenuItem_android_title: number;
+ public static MenuItem_android_titleCondensed: number;
+ public static MenuItem_android_visible: number;
+ public static MenuItem_contentDescription: number;
+ public static MenuItem_iconTint: number;
+ public static MenuItem_iconTintMode: number;
+ public static MenuItem_numericModifiers: number;
+ public static MenuItem_showAsAction: number;
+ public static MenuItem_tooltipText: number;
+ public static MenuView: androidNative.Array;
+ public static MenuView_android_headerBackground: number;
+ public static MenuView_android_horizontalDivider: number;
+ public static MenuView_android_itemBackground: number;
+ public static MenuView_android_itemIconDisabledAlpha: number;
+ public static MenuView_android_itemTextAppearance: number;
+ public static MenuView_android_verticalDivider: number;
+ public static MenuView_android_windowAnimationStyle: number;
+ public static MenuView_preserveIconSpacing: number;
+ public static MenuView_subMenuArrow: number;
+ public static PageIndicatorView: androidNative.Array;
+ public static PageIndicatorView_piv_animationDuration: number;
+ public static PageIndicatorView_piv_animationType: number;
+ public static PageIndicatorView_piv_autoVisibility: number;
+ public static PageIndicatorView_piv_count: number;
+ public static PageIndicatorView_piv_dynamicCount: number;
+ public static PageIndicatorView_piv_fadeOnIdle: number;
+ public static PageIndicatorView_piv_idleDuration: number;
+ public static PageIndicatorView_piv_interactiveAnimation: number;
+ public static PageIndicatorView_piv_orientation: number;
+ public static PageIndicatorView_piv_padding: number;
+ public static PageIndicatorView_piv_radius: number;
+ public static PageIndicatorView_piv_rtl_mode: number;
+ public static PageIndicatorView_piv_scaleFactor: number;
+ public static PageIndicatorView_piv_select: number;
+ public static PageIndicatorView_piv_selectedColor: number;
+ public static PageIndicatorView_piv_strokeWidth: number;
+ public static PageIndicatorView_piv_unselectedColor: number;
+ public static PageIndicatorView_piv_viewPager: number;
+ public static PopupWindow: androidNative.Array;
+ public static PopupWindow_android_popupAnimationStyle: number;
+ public static PopupWindow_android_popupBackground: number;
+ public static PopupWindow_overlapAnchor: number;
+ public static PopupWindowBackgroundState: androidNative.Array;
+ public static PopupWindowBackgroundState_state_above_anchor: number;
+ public static RecycleListView: androidNative.Array;
+ public static RecycleListView_paddingBottomNoButtons: number;
+ public static RecycleListView_paddingTopNoTitle: number;
+ public static RecyclerView: androidNative.Array;
+ public static RecyclerView_android_descendantFocusability: number;
+ public static RecyclerView_android_orientation: number;
+ public static RecyclerView_fastScrollEnabled: number;
+ public static RecyclerView_fastScrollHorizontalThumbDrawable: number;
+ public static RecyclerView_fastScrollHorizontalTrackDrawable: number;
+ public static RecyclerView_fastScrollVerticalThumbDrawable: number;
+ public static RecyclerView_fastScrollVerticalTrackDrawable: number;
+ public static RecyclerView_layoutManager: number;
+ public static RecyclerView_reverseLayout: number;
+ public static RecyclerView_spanCount: number;
+ public static RecyclerView_stackFromEnd: number;
+ public static SearchView: androidNative.Array;
+ public static SearchView_android_focusable: number;
+ public static SearchView_android_imeOptions: number;
+ public static SearchView_android_inputType: number;
+ public static SearchView_android_maxWidth: number;
+ public static SearchView_closeIcon: number;
+ public static SearchView_commitIcon: number;
+ public static SearchView_defaultQueryHint: number;
+ public static SearchView_goIcon: number;
+ public static SearchView_iconifiedByDefault: number;
+ public static SearchView_layout: number;
+ public static SearchView_queryBackground: number;
+ public static SearchView_queryHint: number;
+ public static SearchView_searchHintIcon: number;
+ public static SearchView_searchIcon: number;
+ public static SearchView_submitBackground: number;
+ public static SearchView_suggestionRowLayout: number;
+ public static SearchView_voiceIcon: number;
+ public static Spinner: androidNative.Array;
+ public static Spinner_android_dropDownWidth: number;
+ public static Spinner_android_entries: number;
+ public static Spinner_android_popupBackground: number;
+ public static Spinner_android_prompt: number;
+ public static Spinner_popupTheme: number;
+ public static StateListDrawable: androidNative.Array;
+ public static StateListDrawable_android_constantSize: number;
+ public static StateListDrawable_android_dither: number;
+ public static StateListDrawable_android_enterFadeDuration: number;
+ public static StateListDrawable_android_exitFadeDuration: number;
+ public static StateListDrawable_android_variablePadding: number;
+ public static StateListDrawable_android_visible: number;
+ public static StateListDrawableItem: androidNative.Array;
+ public static StateListDrawableItem_android_drawable: number;
+ public static SwitchCompat: androidNative.Array;
+ public static SwitchCompat_android_textOff: number;
+ public static SwitchCompat_android_textOn: number;
+ public static SwitchCompat_android_thumb: number;
+ public static SwitchCompat_showText: number;
+ public static SwitchCompat_splitTrack: number;
+ public static SwitchCompat_switchMinWidth: number;
+ public static SwitchCompat_switchPadding: number;
+ public static SwitchCompat_switchTextAppearance: number;
+ public static SwitchCompat_thumbTextPadding: number;
+ public static SwitchCompat_thumbTint: number;
+ public static SwitchCompat_thumbTintMode: number;
+ public static SwitchCompat_track: number;
+ public static SwitchCompat_trackTint: number;
+ public static SwitchCompat_trackTintMode: number;
+ public static TextAppearance: androidNative.Array;
+ public static TextAppearance_android_fontFamily: number;
+ public static TextAppearance_android_shadowColor: number;
+ public static TextAppearance_android_shadowDx: number;
+ public static TextAppearance_android_shadowDy: number;
+ public static TextAppearance_android_shadowRadius: number;
+ public static TextAppearance_android_textColor: number;
+ public static TextAppearance_android_textColorHint: number;
+ public static TextAppearance_android_textColorLink: number;
+ public static TextAppearance_android_textFontWeight: number;
+ public static TextAppearance_android_textSize: number;
+ public static TextAppearance_android_textStyle: number;
+ public static TextAppearance_android_typeface: number;
+ public static TextAppearance_fontFamily: number;
+ public static TextAppearance_fontVariationSettings: number;
+ public static TextAppearance_textAllCaps: number;
+ public static TextAppearance_textLocale: number;
+ public static Toolbar: androidNative.Array;
+ public static Toolbar_android_gravity: number;
+ public static Toolbar_android_minHeight: number;
+ public static Toolbar_buttonGravity: number;
+ public static Toolbar_collapseContentDescription: number;
+ public static Toolbar_collapseIcon: number;
+ public static Toolbar_contentInsetEnd: number;
+ public static Toolbar_contentInsetEndWithActions: number;
+ public static Toolbar_contentInsetLeft: number;
+ public static Toolbar_contentInsetRight: number;
+ public static Toolbar_contentInsetStart: number;
+ public static Toolbar_contentInsetStartWithNavigation: number;
+ public static Toolbar_logo: number;
+ public static Toolbar_logoDescription: number;
+ public static Toolbar_maxButtonHeight: number;
+ public static Toolbar_navigationContentDescription: number;
+ public static Toolbar_navigationIcon: number;
+ public static Toolbar_popupTheme: number;
+ public static Toolbar_subtitle: number;
+ public static Toolbar_subtitleTextAppearance: number;
+ public static Toolbar_subtitleTextColor: number;
+ public static Toolbar_title: number;
+ public static Toolbar_titleMargin: number;
+ public static Toolbar_titleMarginBottom: number;
+ public static Toolbar_titleMarginEnd: number;
+ public static Toolbar_titleMarginStart: number;
+ public static Toolbar_titleMarginTop: number;
+ public static Toolbar_titleMargins: number;
+ public static Toolbar_titleTextAppearance: number;
+ public static Toolbar_titleTextColor: number;
+ public static View: androidNative.Array;
+ public static View_android_focusable: number;
+ public static View_android_theme: number;
+ public static View_paddingEnd: number;
+ public static View_paddingStart: number;
+ public static View_theme: number;
+ public static ViewBackgroundHelper: androidNative.Array;
+ public static ViewBackgroundHelper_android_background: number;
+ public static ViewBackgroundHelper_backgroundTint: number;
+ public static ViewBackgroundHelper_backgroundTintMode: number;
+ public static ViewPager2: androidNative.Array;
+ public static ViewPager2_android_orientation: number;
+ public static ViewStubCompat: androidNative.Array;
+ public static ViewStubCompat_android_id: number;
+ public static ViewStubCompat_android_inflatedId: number;
+ public static ViewStubCompat_android_layout: number;
+ public static (): void;
+ }
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module utils {
+ export class CoordinatesUtils extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static getCoordinate(param0: com.rd.draw.data.Indicator, param1: number): number;
+ public static getProgress(param0: com.rd.draw.data.Indicator, param1: number, param2: number, param3: boolean): globalAndroid.util.Pair;
+ public static getPosition(param0: com.rd.draw.data.Indicator, param1: number, param2: number): number;
+ public static getXCoordinate(param0: com.rd.draw.data.Indicator, param1: number): number;
+ public static getYCoordinate(param0: com.rd.draw.data.Indicator, param1: number): number;
+ public constructor();
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module utils {
+ export class DensityUtils extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static dpToPx(param0: number): number;
+ public static pxToDp(param0: number): number;
+ public constructor();
+ }
+ }
+ }
+}
+
+declare module com {
+ export module rd {
+ export module utils {
+ export class IdUtils extends java.lang.Object {
+ public static class: java.lang.Class;
+ public static generateViewId(): number;
+ public constructor();
+ }
+ }
+ }
+}
+
+//Generics information:
+//com.rd.animation.type.BaseAnimation:1
+
diff --git a/src/ui-pager/typings/objc!CHIPageControl.d.ts b/src/ui-pager-indicator/typings/objc!CHIPageControl.d.ts
similarity index 100%
rename from src/ui-pager/typings/objc!CHIPageControl.d.ts
rename to src/ui-pager-indicator/typings/objc!CHIPageControl.d.ts
diff --git a/src/ui-pager-indicator/typings/viewpager2.d.ts b/src/ui-pager-indicator/typings/viewpager2.d.ts
new file mode 100644
index 0000000..a4b89ee
--- /dev/null
+++ b/src/ui-pager-indicator/typings/viewpager2.d.ts
@@ -0,0 +1,470 @@
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace adapter {
+ export abstract class FragmentStateAdapter extends recyclerview.widget.RecyclerView.Adapter implements StatefulAdapter {
+ public static class: java.lang.Class;
+
+ public saveState(): globalAndroid.os.Parcelable;
+
+ public onViewRecycled(param0: FragmentViewHolder): void;
+
+ public setHasStableIds(param0: boolean): void;
+
+ public onDetachedFromRecyclerView(param0: recyclerview.widget.RecyclerView): void;
+
+ public constructor(param0: fragment.app.Fragment);
+
+ public createFragment(param0: number): fragment.app.Fragment;
+
+ public onViewAttachedToWindow(param0: FragmentViewHolder): void;
+
+ public containsItem(param0: number): boolean;
+
+ public onFailedToRecycleView(param0: FragmentViewHolder): boolean;
+
+ public restoreState(param0: globalAndroid.os.Parcelable): void;
+
+ public constructor(param0: fragment.app.FragmentManager, param1: lifecycle.Lifecycle);
+
+ public onCreateViewHolder(param0: globalAndroid.view.ViewGroup, param1: number): FragmentViewHolder;
+
+ public constructor(param0: fragment.app.FragmentActivity);
+
+ public onBindViewHolder(param0: FragmentViewHolder, param1: number): void;
+
+ public getItemId(param0: number): number;
+
+ public onAttachedToRecyclerView(param0: recyclerview.widget.RecyclerView): void;
+ }
+
+ export namespace FragmentStateAdapter {
+ export abstract class DataSetChangeObserver {
+ public static class: java.lang.Class;
+
+ public onChanged(): void;
+
+ public onItemRangeMoved(param0: number, param1: number, param2: number): void;
+
+ public onItemRangeChanged(param0: number, param1: number, param2: any): void;
+ public onItemRangeChanged(param0: number, param1: number): void;
+
+ public onItemRangeRemoved(param0: number, param1: number): void;
+
+ public onItemRangeInserted(param0: number, param1: number): void;
+ }
+
+ export class FragmentMaxLifecycleEnforcer {
+ public static class: java.lang.Class;
+ }
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace adapter {
+ export class FragmentViewHolder {
+ public static class: java.lang.Class;
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace adapter {
+ export class StatefulAdapter {
+ public static class: java.lang.Class;
+
+ /**
+ * Constructs a new instance of the androidx.viewpager2.adapter.StatefulAdapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ saveState(): globalAndroid.os.Parcelable;
+ restoreState(param0: globalAndroid.os.Parcelable): void;
+ });
+ public constructor();
+
+ public saveState(): globalAndroid.os.Parcelable;
+
+ public restoreState(param0: globalAndroid.os.Parcelable): void;
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace widget {
+ export class AnimateLayoutChangeDetector {
+ public static class: java.lang.Class;
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace widget {
+ export class CompositeOnPageChangeCallback extends ViewPager2.OnPageChangeCallback {
+ public static class: java.lang.Class;
+
+ public onPageSelected(param0: number): void;
+
+ public onPageScrolled(param0: number, param1: number, param2: number): void;
+
+ public onPageScrollStateChanged(param0: number): void;
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace widget {
+ export class CompositePageTransformer extends ViewPager2.PageTransformer {
+ public static class: java.lang.Class;
+
+ public transformPage(param0: globalAndroid.view.View, param1: number): void;
+
+ public removeTransformer(param0: ViewPager2.PageTransformer): void;
+
+ public addTransformer(param0: ViewPager2.PageTransformer): void;
+
+ public constructor();
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace widget {
+ export class FakeDrag {
+ public static class: java.lang.Class;
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace widget {
+ export class MarginPageTransformer extends ViewPager2.PageTransformer {
+ public static class: java.lang.Class;
+
+ public transformPage(param0: globalAndroid.view.View, param1: number): void;
+
+ public constructor(param0: number);
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace widget {
+ export class PageTransformerAdapter extends ViewPager2.OnPageChangeCallback {
+ public static class: java.lang.Class;
+
+ public onPageSelected(param0: number): void;
+
+ public onPageScrolled(param0: number, param1: number, param2: number): void;
+
+ public onPageScrollStateChanged(param0: number): void;
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace widget {
+ export class ScrollEventAdapter {
+ public static class: java.lang.Class;
+
+ public onScrollStateChanged(param0: recyclerview.widget.RecyclerView, param1: number): void;
+
+ public onScrolled(param0: recyclerview.widget.RecyclerView, param1: number, param2: number): void;
+ }
+
+ export namespace ScrollEventAdapter {
+ export class ScrollEventValues {
+ public static class: java.lang.Class;
+ }
+ }
+ }
+ }
+}
+
+declare namespace androidx {
+ export namespace viewpager2 {
+ export namespace widget {
+ export class ViewPager2 {
+ public static class: java.lang.Class;
+ public static ORIENTATION_HORIZONTAL: number;
+ public static ORIENTATION_VERTICAL: number;
+ public static SCROLL_STATE_IDLE: number;
+ public static SCROLL_STATE_DRAGGING: number;
+ public static SCROLL_STATE_SETTLING: number;
+ public static OFFSCREEN_PAGE_LIMIT_DEFAULT: number;
+
+ public setUserInputEnabled(param0: boolean): void;
+
+ public canScrollHorizontally(param0: number): boolean;
+
+ public fakeDragBy(param0: number): boolean;
+
+ public isFakeDragging(): boolean;
+
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet, param2: number);
+
+ public getOrientation(): number;
+
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet, param2: number, param3: number);
+
+ public setAdapter(param0: recyclerview.widget.RecyclerView.Adapter): void;
+
+ public beginFakeDrag(): boolean;
+
+ public isUserInputEnabled(): boolean;
+
+ public requestTransform(): void;
+
+ public constructor(param0: globalAndroid.content.Context);
+
+ public setOffscreenPageLimit(param0: number): void;
+
+ public onRestoreInstanceState(param0: globalAndroid.os.Parcelable): void;
+
+ public unregisterOnPageChangeCallback(param0: ViewPager2.OnPageChangeCallback): void;
+
+ public dispatchRestoreInstanceState(param0: globalAndroid.util.SparseArray): void;
+
+ public getAccessibilityClassName(): string;
+
+ public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
+
+ public performAccessibilityAction(param0: number, param1: globalAndroid.os.Bundle): boolean;
+
+ public getScrollState(): number;
+
+ public canScrollVertically(param0: number): boolean;
+
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+
+ public onSaveInstanceState(): globalAndroid.os.Parcelable;
+
+ public setOrientation(param0: number): void;
+
+ public setCurrentItem(param0: number, param1: boolean): void;
+
+ public getAdapter(): recyclerview.widget.RecyclerView.Adapter;
+
+ public removeItemDecoration(param0: recyclerview.widget.RecyclerView.ItemDecoration): void;
+
+ public addItemDecoration(param0: recyclerview.widget.RecyclerView.ItemDecoration, param1: number): void;
+
+ public endFakeDrag(): boolean;
+
+ public getItemDecorationCount(): number;
+
+ public invalidateItemDecorations(): void;
+
+ public setCurrentItem(param0: number): void;
+
+ public setLayoutDirection(param0: number): void;
+
+ public onViewAdded(param0: globalAndroid.view.View): void;
+
+ public registerOnPageChangeCallback(param0: ViewPager2.OnPageChangeCallback): void;
+
+ public getItemDecorationAt(param0: number): recyclerview.widget.RecyclerView.ItemDecoration;
+
+ public setPageTransformer(param0: ViewPager2.PageTransformer): void;
+
+ public onInitializeAccessibilityNodeInfo(param0: globalAndroid.view.accessibility.AccessibilityNodeInfo): void;
+
+ public addItemDecoration(param0: recyclerview.widget.RecyclerView.ItemDecoration): void;
+
+ public onMeasure(param0: number, param1: number): void;
+
+ public getCurrentItem(): number;
+
+ public getOffscreenPageLimit(): number;
+
+ public removeItemDecorationAt(param0: number): void;
+ }
+
+ export namespace ViewPager2 {
+ export abstract class AccessibilityProvider {
+ public static class: java.lang.Class;
+ }
+
+ export class BasicAccessibilityProvider extends AccessibilityProvider {
+ public static class: java.lang.Class;
+
+ public onLmInitializeAccessibilityNodeInfo(param0: core.view.accessibility.AccessibilityNodeInfoCompat): void;
+
+ public onRvGetAccessibilityClassName(): string;
+
+ public handlesRvGetAccessibilityClassName(): boolean;
+
+ public onLmPerformAccessibilityAction(param0: number): boolean;
+
+ public handlesLmPerformAccessibilityAction(param0: number): boolean;
+ }
+
+ export abstract class DataSetChangeObserver {
+ public static class: java.lang.Class;
+
+ public onChanged(): void;
+
+ public onItemRangeMoved(param0: number, param1: number, param2: number): void;
+
+ public onItemRangeChanged(param0: number, param1: number, param2: any): void;
+ public onItemRangeChanged(param0: number, param1: number): void;
+
+ public onItemRangeRemoved(param0: number, param1: number): void;
+
+ public onItemRangeInserted(param0: number, param1: number): void;
+ }
+
+ export class LinearLayoutManagerImpl {
+ public static class: java.lang.Class;
+
+ public calculateExtraLayoutSpace(param0: recyclerview.widget.RecyclerView.State, param1: native.Array): void;
+
+ public requestChildRectangleOnScreen(param0: recyclerview.widget.RecyclerView, param1: globalAndroid.view.View, param2: globalAndroid.graphics.Rect, param3: boolean, param4: boolean): boolean;
+
+ public onInitializeAccessibilityNodeInfo(param0: recyclerview.widget.RecyclerView.Recycler, param1: recyclerview.widget.RecyclerView.State, param2: core.view.accessibility.AccessibilityNodeInfoCompat): void;
+
+ public performAccessibilityAction(param0: recyclerview.widget.RecyclerView.Recycler, param1: recyclerview.widget.RecyclerView.State, param2: number, param3: globalAndroid.os.Bundle): boolean;
+ }
+
+ export class OffscreenPageLimit {
+ public static class: java.lang.Class;
+
+ /**
+ * Constructs a new instance of the androidx.viewpager2.widget.ViewPager2$OffscreenPageLimit interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {});
+ public constructor();
+ }
+
+ export abstract class OnPageChangeCallback {
+ public static class: java.lang.Class;
+
+ public onPageSelected(param0: number): void;
+
+ public onPageScrolled(param0: number, param1: number, param2: number): void;
+
+ public constructor();
+
+ public onPageScrollStateChanged(param0: number): void;
+ }
+
+ export class Orientation {
+ public static class: java.lang.Class;
+
+ /**
+ * Constructs a new instance of the androidx.viewpager2.widget.ViewPager2$Orientation interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {});
+ public constructor();
+ }
+
+ export class PageAwareAccessibilityProvider extends AccessibilityProvider {
+ public static class: java.lang.Class;
+
+ public handlesPerformAccessibilityAction(param0: number, param1: globalAndroid.os.Bundle): boolean;
+
+ public onPerformAccessibilityAction(param0: number, param1: globalAndroid.os.Bundle): boolean;
+
+ public onAttachAdapter(param0: recyclerview.widget.RecyclerView.Adapter): void;
+
+ public onSetLayoutDirection(): void;
+
+ public onRestorePendingState(): void;
+
+ public onGetAccessibilityClassName(): string;
+
+ public onDetachAdapter(param0: recyclerview.widget.RecyclerView.Adapter): void;
+
+ public onRvInitializeAccessibilityEvent(param0: globalAndroid.view.accessibility.AccessibilityEvent): void;
+
+ public onSetUserInputEnabled(): void;
+
+ public onSetNewCurrentItem(): void;
+
+ public onSetOrientation(): void;
+
+ public onInitialize(param0: CompositeOnPageChangeCallback, param1: recyclerview.widget.RecyclerView): void;
+
+ public handlesGetAccessibilityClassName(): boolean;
+
+ public onInitializeAccessibilityNodeInfo(param0: globalAndroid.view.accessibility.AccessibilityNodeInfo): void;
+ }
+
+ export class PageTransformer {
+ public static class: java.lang.Class;
+
+ /**
+ * Constructs a new instance of the androidx.viewpager2.widget.ViewPager2$PageTransformer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ transformPage(param0: globalAndroid.view.View, param1: number): void;
+ });
+ public constructor();
+
+ public transformPage(param0: globalAndroid.view.View, param1: number): void;
+ }
+
+ export class PagerSnapHelperImpl {
+ public static class: java.lang.Class;
+
+ public findSnapView(param0: recyclerview.widget.RecyclerView.LayoutManager): globalAndroid.view.View;
+ }
+
+ export class RecyclerViewImpl {
+ public static class: java.lang.Class;
+
+ public getAccessibilityClassName(): string;
+
+ public onInitializeAccessibilityEvent(param0: globalAndroid.view.accessibility.AccessibilityEvent): void;
+
+ public onTouchEvent(param0: globalAndroid.view.MotionEvent): boolean;
+
+ public onInterceptTouchEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ }
+
+ export class SavedState {
+ public static class: java.lang.Class;
+ public static CREATOR: globalAndroid.os.Parcelable.Creator;
+
+ public writeToParcel(param0: globalAndroid.os.Parcel, param1: number): void;
+ }
+
+ export class ScrollState {
+ public static class: java.lang.Class;
+
+ /**
+ * Constructs a new instance of the androidx.viewpager2.widget.ViewPager2$ScrollState interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {});
+ public constructor();
+ }
+
+ export class SmoothScrollToPosition {
+ public static class: java.lang.Class;
+
+ public run(): void;
+ }
+ }
+ }
+ }
+}
+
+// Generics information:
+
diff --git a/src/ui-pager/index.android.ts b/src/ui-pager/index.android.ts
index 1a7db55..ceabaef 100644
--- a/src/ui-pager/index.android.ts
+++ b/src/ui-pager/index.android.ts
@@ -1,9 +1,7 @@
-import { ChangeType, Color, Device, ObservableArray, Property, Screen, StackLayout, View, ViewBase, profile } from '@nativescript/core';
+import { ChangeType, Color, Device, ObservableArray, Property, Screen, StackLayout, Utils, View, ViewBase, profile } from '@nativescript/core';
import { KeyedTemplate } from '@nativescript/core/ui/core/view';
import { isString } from '@nativescript/core/utils/types';
-import { layout } from '@nativescript/core/utils/layout-helper';
import {
- Indicator,
ItemEventData,
Orientation,
PagerBase,
@@ -11,15 +9,11 @@ import {
autoPlayProperty,
autoplayDelayProperty,
disableSwipeProperty,
- indicatorColorProperty,
- indicatorProperty,
- indicatorSelectedColorProperty,
itemTemplatesProperty,
itemsProperty,
orientationProperty,
peakingProperty,
selectedIndexProperty,
- showIndicatorProperty,
spacingProperty
} from './index.common';
@@ -39,7 +33,6 @@ function notifyForItemAtIndex(owner, nativeView: any, view: any, eventName: stri
return args;
}
-declare const com, java;
const PLACEHOLDER = 'PLACEHOLDER';
export class Pager extends PagerBase {
@@ -50,7 +43,6 @@ export class Pager extends PagerBase {
widthMeasureSpec: number;
heightMeasureSpec: number;
public perPage: number;
- private _observableArrayInstance: ObservableArray;
public itemTemplateUpdated(oldData: any, newData: any): void {}
@@ -70,8 +62,7 @@ export class Pager extends PagerBase {
private marginTransformer: any;
private _transformers: any[];
private _selectedIndexBeforeLoad = 0;
- private _pager: androidx.viewpager2.widget.ViewPager2;
- private _indicatorView;
+ // private _pager: androidx.viewpager2.widget.ViewPager2;
constructor() {
super();
@@ -86,47 +77,24 @@ export class Pager extends PagerBase {
this._views = value;
}
- get pager() {
- return this._pager;
- }
-
- get indicatorView() {
- return this._indicatorView;
- }
-
@profile()
public createNativeView() {
- const nativeView = new android.widget.RelativeLayout(this._context);
- this._pager = new androidx.viewpager2.widget.ViewPager2(this._context);
+ const nativeView = new androidx.viewpager2.widget.ViewPager2(this._context);
const sdkVersion = parseInt(Device.sdkVersion, 10);
if (sdkVersion >= 21) {
- this._pager.setNestedScrollingEnabled(true);
+ nativeView.setNestedScrollingEnabled(true);
}
if (this.orientation === 'vertical') {
- this._pager.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL);
+ nativeView.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL);
} else {
- this._pager.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL);
+ nativeView.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL);
}
initPagerRecyclerAdapter();
this._pagerAdapter = new PagerRecyclerAdapter(new WeakRef(this));
this.compositeTransformer = new androidx.viewpager2.widget.CompositePageTransformer();
- this.pager.setUserInputEnabled(!this.disableSwipe);
+ nativeView.setUserInputEnabled(!this.disableSwipe);
this.on(View.layoutChangedEvent, this.onLayoutChange, this);
- const LayoutParams = android.widget.RelativeLayout.LayoutParams;
- nativeView.addView(this.pager, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
- this._indicatorView = new com.rd.PageIndicatorView2(this._context);
- const params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
-
- params.addRule(android.widget.RelativeLayout.ALIGN_PARENT_BOTTOM);
- params.addRule(android.widget.RelativeLayout.CENTER_HORIZONTAL);
- params.setMargins(0, 0, 0, 10 * Screen.mainScreen.scale);
- this._indicatorView.setLayoutParams(params);
-
- // this._indicatorView.setViewPager(this.pager);
- this._indicatorView.setDynamicCount(true);
- this._indicatorView.setInteractiveAnimation(true);
- nativeView.addView(this._indicatorView);
return nativeView;
}
@@ -138,27 +106,29 @@ export class Pager extends PagerBase {
this.disableAnimation = true;
initPagerChangeCallback();
this._pageListener = new PageChangeCallback(new WeakRef(this));
- this.pager.registerOnPageChangeCallback(this._pageListener);
- this.pager.setAdapter(this._pagerAdapter);
+ const nativeView = this.nativeViewProtected;
+ nativeView.registerOnPageChangeCallback(this._pageListener);
+ nativeView.setAdapter(this._pagerAdapter);
if (this._androidViewId < 0) {
this._androidViewId = android.view.View.generateViewId();
}
if (this.pagesCount > 0) {
- this.pager.setOffscreenPageLimit(this.pagesCount);
+ nativeView.setOffscreenPageLimit(this.pagesCount);
} else {
- this.pager.setOffscreenPageLimit(3);
+ nativeView.setOffscreenPageLimit(3);
}
- this._setIndicator(this.indicator);
this._setPeaking(this.peaking);
this._setSpacing(this.spacing);
this._setTransformers(this.transformers ? this.transformers : '');
+ }
- if (this.showIndicator) {
- this._indicatorView.setCount(this.items ? this.items.length : 0);
- } else {
- this._indicatorView.setCount(0);
+ setIndicator(indicator) {
+ this.indicator = indicator;
+ if (indicator) {
+ this.indicator.setCount(this.items ? this.items.length : 0);
+ this.indicator.setSelection(this.selectedIndex, false);
}
}
@@ -219,11 +189,12 @@ export class Pager extends PagerBase {
const size = this.convertToSize(value);
const newPeaking = size !== this._lastPeaking;
if (newPeaking) {
- this.pager.setClipToPadding(false);
+ const nativeView = this.nativeViewProtected;
+ nativeView.setClipToPadding(false);
const left = this.orientation === 'horizontal' ? size : 0;
const top = this.orientation === 'horizontal' ? 0 : size;
- this.pager.setPadding(left, top, left, top);
- this.pager.setClipChildren(false);
+ nativeView.setPadding(left, top, left, top);
+ nativeView.setClipChildren(false);
this._lastPeaking = size;
}
}
@@ -236,33 +207,6 @@ export class Pager extends PagerBase {
this._setPeaking(value);
}
- [indicatorProperty.setNative](value: Indicator) {
- this._setIndicator(value);
- }
-
- private _setIndicator(value: Indicator) {
- const AnimationType = com.rd.animation.type.AnimationType;
- switch (value) {
- case Indicator.None:
- this.indicatorView.setAnimationType(AnimationType.NONE);
- break;
- case Indicator.Worm:
- this.indicatorView.setAnimationType(AnimationType.WORM);
- break;
- case Indicator.Fill:
- this.indicatorView.setAnimationType(AnimationType.FILL);
- break;
- case Indicator.Swap:
- this.indicatorView.setAnimationType(AnimationType.SWAP);
- break;
- case Indicator.THIN_WORM:
- this.indicatorView.setAnimationType(AnimationType.THIN_WORM);
- break;
- default:
- break;
- }
- }
-
private _setTransformers(transformers: string) {
if (!isString(transformers)) {
return;
@@ -286,24 +230,11 @@ export class Pager extends PagerBase {
});
}
- this.pager.setPageTransformer(this.compositeTransformer);
+ this.nativeViewProtected.setPageTransformer(this.compositeTransformer);
}
- private _observableArrayHandler = (args) => {
- if (this.indicatorView && this.showIndicator) {
- this.indicatorView.setCount(this._childrenCount);
- this.indicatorView.setSelected(args.index);
- }
+ protected _observableArrayHandler = (args) => {
if (this.pagerAdapter) {
- // com.nativescript.pager.Utils.updateCollection(
- // JSON.stringify({
- // action: args.action,
- // index: args.index,
- // addedCount: args.addedCount,
- // removedCount: args.removed ? args.removed.length : 0
- // }),
- // this.pagerAdapter
- // );
switch (args.action) {
case ChangeType.Add:
this.pagerAdapter.notifyItemRangeInserted(args.index, args.addedCount);
@@ -349,13 +280,9 @@ export class Pager extends PagerBase {
this._realizedTemplates.clear();
this._pageListener = null;
// setAdapter(null) will destroy views
- this.pager.setAdapter(null);
+ this.nativeViewProtected.setAdapter(null);
this._pagerAdapter = null;
this._transformers = [];
- if (this._observableArrayInstance) {
- this._observableArrayInstance.off(ObservableArray.changeEvent, this._observableArrayHandler);
- this._observableArrayInstance = null;
- }
super.disposeNativeView();
}
@@ -375,24 +302,8 @@ export class Pager extends PagerBase {
return (this.items && this.items.length) || (this._childrenViews && this._childrenViews.length) || 0;
}
- [indicatorColorProperty.setNative](value: Color | string) {
- if (this.indicatorView) {
- const color = !value || value instanceof Color ? (value as Color) : new Color(value);
- this.indicatorView.setUnselectedColor(color ? color.android : null);
- }
- }
-
- [indicatorSelectedColorProperty.setNative](value: Color | string) {
- if (this.indicatorView) {
- const color = !value || value instanceof Color ? (value as Color) : new Color(value);
- this.indicatorView.setSelectedColor(color ? color.android : null);
- }
- }
-
[disableSwipeProperty.setNative](value: boolean) {
- if (this.pager) {
- this.pager.setUserInputEnabled(!value);
- }
+ this.nativeViewProtected.setUserInputEnabled(!value);
}
[itemsProperty.getDefault](): any {
@@ -400,34 +311,23 @@ export class Pager extends PagerBase {
}
[itemsProperty.setNative](value: any) {
- if (value && value.length && this.showIndicator) {
- this.indicatorView.setCount(this._childrenCount);
- }
- if (this._observableArrayInstance) {
- this._observableArrayInstance.off(ObservableArray.changeEvent, this._observableArrayHandler);
- this._observableArrayInstance = null;
- }
-
- if (value) {
- if (value instanceof ObservableArray) {
- const adapter = this.pagerAdapter;
- if (!adapter) return;
- selectedIndexProperty.coerce(this);
- this._observableArrayInstance = value as any;
- this._observableArrayInstance.on(ObservableArray.changeEvent, this._observableArrayHandler);
- } else {
- this.refresh();
- selectedIndexProperty.coerce(this);
- }
- }
+ this.setObservableArrayInstance(value);
}
private _updateScrollPosition() {
const index = this.circularMode ? this.selectedIndex + 1 : this.selectedIndex;
- if (this.pager.getCurrentItem() !== index) {
- this.indicatorView.setInteractiveAnimation(false);
- this.pager.setCurrentItem(index, false);
- this._indicatorView.setSelected(this.selectedIndex);
+ const nativeView = this.nativeViewProtected;
+ if (nativeView.getCurrentItem() !== index) {
+ const indicator = this.indicator;
+ const toDo = () => {
+ nativeView.setCurrentItem(index, false);
+ indicator.setSelection(this.selectedIndex, false);
+ };
+ if (indicator) {
+ indicator.withoutAnimation(toDo);
+ } else {
+ toDo();
+ }
}
setTimeout(() => {
this._initAutoPlay(this.autoPlay);
@@ -436,14 +336,15 @@ export class Pager extends PagerBase {
initStaticPagerAdapter() {
if (!this.items && this._childrenCount > 0) {
initStaticPagerStateAdapter();
- if (this.pager && !(this._pagerAdapter instanceof StaticPagerStateAdapter)) {
+ const nativeView = this.nativeViewProtected;
+ if (nativeView && !(this._pagerAdapter instanceof StaticPagerStateAdapter)) {
this._pagerAdapter = new StaticPagerStateAdapter(new WeakRef(this));
- this.pager.setAdapter(this._pagerAdapter);
+ nativeView.setAdapter(this._pagerAdapter);
selectedIndexProperty.coerce(this);
setTimeout(() => {
- this.pager.setCurrentItem(this.selectedIndex, false);
- if (this.indicatorView) {
- this.indicatorView.setSelection(this.selectedIndex);
+ nativeView.setCurrentItem(this.selectedIndex, false);
+ if (this.indicator) {
+ this.indicator.setSelection(this.selectedIndex);
}
}, 0);
}
@@ -455,21 +356,17 @@ export class Pager extends PagerBase {
}
[selectedIndexProperty.setNative](value: number) {
- if (this.isLoaded && this.pager) {
+ const nativeView = this.nativeViewProtected;
+ if (this.isLoaded && nativeView) {
const index = this.circularMode ? value + 1 : value;
- if (this.pager.getCurrentItem() !== index) {
- // this.indicatorView.setInteractiveAnimation(!this.disableAnimation);
- this.pager.setCurrentItem(index, !this.disableAnimation);
- if (this.indicatorView) {
- // this.indicatorView.setSelection(value);
- }
- }
+ nativeView.setCurrentItem(index, !this.disableAnimation);
}
}
public scrollToIndexAnimated(index: number, animate: boolean) {
- if (this.pager) {
- this.pager.setCurrentItem(index, animate);
+ const nativeView = this.nativeViewProtected;
+ if (nativeView) {
+ nativeView.setCurrentItem(index, animate);
if (!animate) {
// without animate we wont go through the delegate
selectedIndexProperty.nativeValueChange(this, index);
@@ -480,16 +377,18 @@ export class Pager extends PagerBase {
_onItemsChanged(oldValue: any, newValue: any): void {}
refresh() {
- if (this.pager && this._pagerAdapter) {
- this.pager.requestLayout();
- this.pager.getAdapter().notifyDataSetChanged();
+ const nativeView = this.nativeViewProtected;
+ if (nativeView && this._pagerAdapter) {
+ nativeView.requestLayout();
+ nativeView.getAdapter().notifyDataSetChanged();
}
}
updatePagesCount(value: number) {
- if (this.pager) {
+ const nativeView = this.nativeViewProtected;
+ if (nativeView) {
this._pagerAdapter.notifyDataSetChanged();
- this.pager.setOffscreenPageLimit(value);
+ nativeView.setOffscreenPageLimit(value);
}
}
@@ -532,96 +431,26 @@ export class Pager extends PagerBase {
}
this._pagerAdapter = new PagerRecyclerAdapter(new WeakRef(this));
- this.pager.setAdapter(this._pagerAdapter);
+ this.nativeViewProtected.setAdapter(this._pagerAdapter);
this.refresh();
}
- [showIndicatorProperty.setNative](value: boolean) {
- //const hasParent = this.indicatorView.getParent();
- if (!this.indicatorView) {
- return;
- }
- if (value) {
- // if (!hasParent) {
- // this.nativeView.addView(this.indicatorView);
- // }
- //this._indicatorView.setVisibility(android.view.View.VISIBLE);
- this.indicatorView.setCount(this.items ? this.items.length : 0);
- this.indicatorView.setSelected(this.selectedIndex);
- } else {
- this.indicatorView.setCount(0);
- // this._indicatorView.setVisibility(android.view.View.GONE);
- // if (hasParent) {
- // this.nativeView.removeView(this.indicatorView);
- // }
- }
- }
-
public [orientationProperty.setNative](value: Orientation) {
if (value === 'vertical') {
- this._pager.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL);
+ this.nativeViewProtected.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_VERTICAL);
} else {
- this._pager.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL);
+ this.nativeViewProtected.setOrientation(androidx.viewpager2.widget.ViewPager2.ORIENTATION_HORIZONTAL);
}
}
_horizontalOffset: number = 0;
get horizontalOffset(): number {
- return this._horizontalOffset / layout.getDisplayDensity();
+ return this._horizontalOffset / Utils.layout.getDisplayDensity();
}
_verticalOffset: number = 0;
get verticalOffset(): number {
- return this._verticalOffset / layout.getDisplayDensity();
- }
-
- static getProgress(indicator, position, positionOffset, isRtl) {
- const count = indicator.getCount();
- let selectedPosition = indicator.getSelection();
-
- if (isRtl) {
- position = count - 1 - position;
- }
-
- if (position < 0) {
- position = 0;
- } else if (position > count - 1) {
- position = count - 1;
- }
-
- const isRightOverScrolled = position > selectedPosition;
- let isLeftOverScrolled;
-
- if (isRtl) {
- isLeftOverScrolled = position - 1 < selectedPosition;
- } else {
- isLeftOverScrolled = position + 1 < selectedPosition;
- }
-
- if (isRightOverScrolled || isLeftOverScrolled) {
- selectedPosition = position;
- indicator.setSelection(selectedPosition);
- }
-
- const slideToRightSide = selectedPosition === position && positionOffset !== 0;
- let selectingPosition;
- let selectingProgress;
-
- if (slideToRightSide) {
- selectingPosition = isRtl ? position - 1 : position + 1;
- selectingProgress = positionOffset;
- } else {
- selectingPosition = position;
- selectingProgress = 1 - positionOffset;
- }
-
- if (selectingProgress > 1) {
- selectingProgress = 1;
- } else if (selectingProgress < 0) {
- selectingProgress = 0;
- }
-
- return [selectingPosition, selectingProgress];
+ return this._verticalOffset / Utils.layout.getDisplayDensity();
}
[autoPlayProperty.setNative](value: boolean) {
@@ -674,6 +503,55 @@ export class Pager extends PagerBase {
}
return this.circularMode ? this.itemCount - 3 : this.itemCount - 1;
}
+
+ static getProgress(indicator, position, positionOffset, isRtl) {
+ const count = indicator.getCount();
+ let selectedPosition = indicator.getSelection();
+
+ if (isRtl) {
+ position = count - 1 - position;
+ }
+
+ if (position < 0) {
+ position = 0;
+ } else if (position > count - 1) {
+ position = count - 1;
+ }
+
+ const isRightOverScrolled = position > selectedPosition;
+ let isLeftOverScrolled;
+
+ if (isRtl) {
+ isLeftOverScrolled = position - 1 < selectedPosition;
+ } else {
+ isLeftOverScrolled = position + 1 < selectedPosition;
+ }
+
+ if (isRightOverScrolled || isLeftOverScrolled) {
+ selectedPosition = position;
+ indicator.setSelection(selectedPosition);
+ }
+
+ const slideToRightSide = selectedPosition === position && positionOffset !== 0;
+ let selectingPosition;
+ let selectingProgress;
+
+ if (slideToRightSide) {
+ selectingPosition = isRtl ? position - 1 : position + 1;
+ selectingProgress = positionOffset;
+ } else {
+ selectingPosition = position;
+ selectingProgress = 1 - positionOffset;
+ }
+
+ if (selectingProgress > 1) {
+ selectingProgress = 1;
+ } else if (selectingProgress < 0) {
+ selectingProgress = 0;
+ }
+
+ return [selectingPosition, selectingProgress];
+ }
}
export const pagesCountProperty = new Property({
@@ -738,13 +616,13 @@ function initPagerChangeCallback() {
if (owner.items && position === owner.pagerAdapter.lastIndex() - owner.loadMoreCount) {
owner.notify({ eventName: Pager.loadMoreItemsEvent, object: owner });
}
-
- if (owner.showIndicator && owner.indicatorView) {
- const progress = Pager.getProgress(owner.indicatorView, position, positionOffset, false);
+ const indicator = owner.indicator;
+ if (indicator) {
+ const progress = Pager.getProgress(indicator, position, positionOffset, false);
const selectingPosition = progress[0];
const selectingProgress = progress[1];
- owner.indicatorView.setInteractiveAnimation(true);
- owner.indicatorView.setProgress(selectingPosition, selectingProgress);
+ indicator.setInteractiveAnimation(true);
+ indicator.setProgress(selectingPosition, selectingProgress);
}
}
}
@@ -776,28 +654,44 @@ function initPagerChangeCallback() {
if (owner.isLayoutValid && state === androidx.viewpager2.widget.ViewPager2.SCROLL_STATE_IDLE) {
// ts-ignore
const count = owner.pagerAdapter.getItemCount();
- const index = owner.pager.getCurrentItem();
+ const index = owner.nativeViewProtected.getCurrentItem();
+ const indicator = owner.indicator;
if (owner.circularMode) {
if (index === 0) {
- // last item
- owner.indicatorView.setInteractiveAnimation(false);
- owner.pager.setCurrentItem(count - 2, false);
- selectedIndexProperty.nativeValueChange(owner, count - 3);
- owner.indicatorView.setSelected(count - 3);
- owner.indicatorView.setInteractiveAnimation(true);
+ const toDo = () => {
+ owner.nativeViewProtected.setCurrentItem(count - 2, false);
+ selectedIndexProperty.nativeValueChange(owner, count - 3);
+ if (indicator) {
+ indicator.setSelection(count - 3, false);
+ }
+ };
+ if (indicator) {
+ indicator.withoutAnimation(toDo);
+ } else {
+ toDo();
+ }
} else if (index === count - 1) {
// first item
- owner.indicatorView.setInteractiveAnimation(false);
- owner.indicatorView.setSelected(0);
- owner.pager.setCurrentItem(1, false);
- selectedIndexProperty.nativeValueChange(owner, 0);
- owner.indicatorView.setInteractiveAnimation(true);
+ const toDo = () => {
+ owner.nativeViewProtected.setCurrentItem(1, false);
+ selectedIndexProperty.nativeValueChange(owner, 0);
+ if (indicator) {
+ indicator.setSelection(0, false);
+ }
+ };
+ if (indicator) {
+ indicator.withoutAnimation(toDo);
+ } else {
+ toDo();
+ }
} else {
selectedIndexProperty.nativeValueChange(owner, index - 1);
}
} else {
selectedIndexProperty.nativeValueChange(owner, index);
- owner.indicatorView.setSelected(index);
+ if (indicator) {
+ indicator.setSelection(index, false);
+ }
}
}
}
diff --git a/src/ui-pager/index.common.ts b/src/ui-pager/index.common.ts
index 82eb6e7..0f8faf1 100644
--- a/src/ui-pager/index.common.ts
+++ b/src/ui-pager/index.common.ts
@@ -17,6 +17,7 @@ import {
Property,
Template,
Trace,
+ Utils,
View,
ViewBase,
addWeakEventListener,
@@ -24,7 +25,6 @@ import {
makeValidator,
removeWeakEventListener
} from '@nativescript/core';
-import { layout } from '@nativescript/core/utils/layout-helper';
export type Orientation = 'horizontal' | 'vertical';
@@ -67,16 +67,6 @@ export enum Transformer {
SCALE = 'scale'
}
-export enum Indicator {
- Disabled = 'disable',
- None = 'none',
- Worm = 'worm',
- Fill = 'fill',
- Swap = 'swap',
- THIN_WORM = 'thin_worm',
- Flat = 'flat'
-}
-
const booleanConverter = (v: any): boolean => String(v) === 'true';
let UNIQUE_VIEW_TYPE = 0;
@@ -92,7 +82,6 @@ export abstract class PagerBase extends ContainerView implements AddChildFromBui
public spacing: CoreTypes.PercentLengthType;
public peaking: CoreTypes.PercentLengthType;
public perPage: number;
- public indicator: Indicator;
public circularMode: boolean;
public autoPlayDelay: number;
public autoPlay: boolean;
@@ -114,19 +103,50 @@ export abstract class PagerBase extends ContainerView implements AddChildFromBui
public _childrenViews: { view: PagerItem; type: number }[];
abstract readonly _childrenCount: number;
public disableSwipe: boolean = false;
- public showIndicator: boolean;
- public indicatorColor: Color | string;
- public indicatorSelectedColor: Color | string;
- // TODO: get rid of such hacks.
public static knownFunctions = ['itemTemplateSelector', 'itemIdGenerator']; // See component-builder.ts isKnownFunction
+ protected mObservableArrayInstance: ObservableArray;
+
abstract refresh(): void;
+ public indicator: {
+ setProgress(position: number, progress: number);
+ setSelection(index: number, animated?: boolean);
+ setCount(count: number);
+ withoutAnimation(callback: Function);
+ getCount(): number;
+ getSelection(): number;
+ setInteractiveAnimation(animated?: boolean);
+ };
+ setIndicator(indicator) {
+ this.indicator = indicator;
+ }
+
disposeNativeView() {
this._childrenViews = [];
+ if (this.mObservableArrayInstance) {
+ this.mObservableArrayInstance.off(ObservableArray.changeEvent, this._observableArrayHandler);
+ this.mObservableArrayInstance = null;
+ }
super.disposeNativeView();
}
+ protected abstract _observableArrayHandler(arg): void;
+
+ setObservableArrayInstance(value) {
+ if (this.mObservableArrayInstance) {
+ this.mObservableArrayInstance.off(ObservableArray.changeEvent, this._observableArrayHandler);
+ this.mObservableArrayInstance = null;
+ }
+ if (value instanceof ObservableArray) {
+ this.mObservableArrayInstance = value as any;
+ this.mObservableArrayInstance.on(ObservableArray.changeEvent, this._observableArrayHandler);
+ } else {
+ this.refresh();
+ }
+ selectedIndexProperty.coerce(this);
+ }
+
getChildView(index: number): View {
return this._childrenViews && this._childrenViews[index].view;
}
@@ -286,30 +306,30 @@ export abstract class PagerBase extends ContainerView implements AddChildFromBui
public convertToSize(length): number {
let size = 0;
if (this.orientation === 'horizontal') {
- size = global.isIOS ? layout.getMeasureSpecSize((this as any)._currentWidthMeasureSpec) : this.getMeasuredWidth();
+ size = global.isIOS ? Utils.layout.getMeasureSpecSize((this as any)._currentWidthMeasureSpec) : this.getMeasuredWidth();
} else {
- size = global.isIOS ? layout.getMeasureSpecSize((this as any)._currentHeightMeasureSpec) : this.getMeasuredHeight();
+ size = global.isIOS ? Utils.layout.getMeasureSpecSize((this as any)._currentHeightMeasureSpec) : this.getMeasuredHeight();
}
let converted = 0;
if (length && length.unit === 'px') {
converted = length.value;
} else if (length && length.unit === 'dip') {
- converted = layout.toDevicePixels(length.value);
+ converted = Utils.layout.toDevicePixels(length.value);
} else if (length && length.unit === '%') {
converted = size * length.value;
} else if (typeof length === 'string') {
if (length.indexOf('px') > -1) {
converted = parseInt(length.replace('px', ''), 10);
} else if (length.indexOf('dip') > -1) {
- converted = layout.toDevicePixels(parseInt(length.replace('dip', ''), 10));
+ converted = Utils.layout.toDevicePixels(parseInt(length.replace('dip', ''), 10));
} else if (length.indexOf('%') > -1) {
converted = size * (parseInt(length.replace('%', ''), 10) / 100);
} else {
- converted = layout.toDevicePixels(parseInt(length, 10));
+ converted = Utils.layout.toDevicePixels(parseInt(length, 10));
}
} else if (typeof length === 'number') {
- converted = layout.toDevicePixels(length);
+ converted = Utils.layout.toDevicePixels(length);
}
if (isNaN(converted)) {
@@ -342,18 +362,6 @@ function onItemTemplateChanged(pager: PagerBase, oldValue, newValue) {
pager.itemTemplateUpdated(oldValue, newValue);
}
-export const indicatorColorProperty = new Property({
- name: 'indicatorColor'
-});
-
-indicatorColorProperty.register(PagerBase);
-
-export const indicatorSelectedColorProperty = new Property({
- name: 'indicatorSelectedColor'
-});
-
-indicatorSelectedColorProperty.register(PagerBase);
-
export const circularModeProperty = new Property({
name: 'circularMode',
defaultValue: false,
@@ -362,13 +370,6 @@ export const circularModeProperty = new Property({
circularModeProperty.register(PagerBase);
-export const indicatorProperty = new Property({
- name: 'indicator',
- defaultValue: Indicator.None
-});
-
-indicatorProperty.register(PagerBase);
-
export const selectedIndexProperty = new CoercibleProperty({
name: 'selectedIndex',
defaultValue: -1,
diff --git a/src/ui-pager/index.ios.ts b/src/ui-pager/index.ios.ts
index 6cb86bd..96e4266 100644
--- a/src/ui-pager/index.ios.ts
+++ b/src/ui-pager/index.ios.ts
@@ -1,16 +1,11 @@
import { ChangeType, Color, EventData, KeyedTemplate, Observable, ObservableArray, Property, ProxyViewContainer, StackLayout, Utils, View, ViewBase, profile } from '@nativescript/core';
-import { layout } from '@nativescript/core/utils/layout-helper';
import {
- Indicator,
ItemEventData,
Orientation,
PagerBase,
autoPlayProperty,
autoplayDelayProperty,
disableSwipeProperty,
- indicatorColorProperty,
- indicatorProperty,
- indicatorSelectedColorProperty,
itemTemplatesProperty,
itemsProperty,
orientationProperty,
@@ -75,7 +70,7 @@ export class Pager extends PagerBase {
mLayout: UICollectionViewFlowLinearLayoutImpl;
mPreparingCell: boolean = false;
mDelegate: UICollectionDelegateImpl;
- nativeViewProtected: UIView;
+ nativeViewProtected: UICollectionView;
private mDataSource: UICollectionViewDataSourceImpl;
mMap: Map;
borderRadius: number;
@@ -83,9 +78,6 @@ export class Pager extends PagerBase {
borderColor: string;
backgroundColor: any;
mIsRefreshing: boolean = false;
- private mPager: UICollectionView;
- private mIndicatorView: any;
- private mObservableArrayInstance: ObservableArray;
mIsInit: boolean = false;
public mInnerWidth: number = 0;
@@ -97,33 +89,23 @@ export class Pager extends PagerBase {
this.mMap = new Map();
}
- get pager() {
- return this.mPager;
- }
-
- get indicatorView() {
- return this.mIndicatorView;
- }
-
createNativeView() {
- const nativeView = UIView.new();
this.mLayout = UICollectionViewFlowLinearLayoutImpl.initWithOwner(new WeakRef(this));
this.mLayout.scrollDirection = UICollectionViewScrollDirection.Horizontal;
this.mLayout.minimumInteritemSpacing = 0;
- const pager = (this.mPager = UICollectionView.alloc().initWithFrameCollectionViewLayout(CGRectZero, this.mLayout));
- pager.backgroundColor = UIColor.clearColor;
- pager.autoresizesSubviews = false;
- pager.autoresizingMask = UIViewAutoresizing.None;
- pager.showsHorizontalScrollIndicator = false;
- pager.showsVerticalScrollIndicator = false;
- pager.decelerationRate = UIScrollViewDecelerationRateFast;
- nativeView.addSubview(pager);
+ const nativeView = UICollectionView.alloc().initWithFrameCollectionViewLayout(CGRectZero, this.mLayout);
+ nativeView.backgroundColor = UIColor.clearColor;
+ nativeView.autoresizesSubviews = false;
+ nativeView.autoresizingMask = UIViewAutoresizing.None;
+ nativeView.showsHorizontalScrollIndicator = false;
+ nativeView.showsVerticalScrollIndicator = false;
+ nativeView.decelerationRate = UIScrollViewDecelerationRateFast;
return nativeView;
}
initNativeView() {
super.initNativeView();
- const nativeView = this.pager;
+ const nativeView = this.nativeViewProtected;
nativeView.registerClassForCellWithReuseIdentifier(PagerCell.class(), this._defaultTemplate.key);
nativeView.backgroundColor = UIColor.clearColor;
nativeView.autoresizesSubviews = false;
@@ -139,7 +121,6 @@ export class Pager extends PagerBase {
nativeView.alwaysBounceHorizontal = true;
nativeView.alwaysBounceVertical = false;
}
- this._setIndicator(this.indicator);
this.mDelegate = UICollectionDelegateImpl.initWithOwner(new WeakRef(this));
this._setNativeClipToBounds();
this._initAutoPlay(this.autoPlay);
@@ -151,7 +132,7 @@ export class Pager extends PagerBase {
}
let result: View;
if (this.nativeViewProtected) {
- const cell = this.mPager.cellForItemAtIndexPath(NSIndexPath.indexPathForRowInSection(index, 0)) as PagerCell;
+ const cell = this.nativeViewProtected.cellForItemAtIndexPath(NSIndexPath.indexPathForRowInSection(index, 0)) as PagerCell;
return cell?.view;
}
@@ -161,8 +142,8 @@ export class Pager extends PagerBase {
_getRealWidthHeight(): { width: number; height: number } {
let height = 0;
let width = 0;
- width = (layout.toDeviceIndependentPixels(this._effectiveItemWidth) - (this.perPage * 2 * this._getSpacing() + this._getPeaking() * 2)) / this.perPage;
- height = (layout.toDeviceIndependentPixels(this._effectiveItemHeight) - (this.perPage * 2 * this._getSpacing() + this._getPeaking() * 2)) / this.perPage;
+ width = (Utils.layout.toDeviceIndependentPixels(this._effectiveItemWidth) - (this.perPage * 2 * this._getSpacing() + this._getPeaking() * 2)) / this.perPage;
+ height = (Utils.layout.toDeviceIndependentPixels(this._effectiveItemHeight) - (this.perPage * 2 * this._getSpacing() + this._getPeaking() * 2)) / this.perPage;
return { height, width };
}
@@ -234,52 +215,6 @@ export class Pager extends PagerBase {
return this.lastIndex;
}
- private _setIndicator(value: Indicator) {
- if (this.mIndicatorView) {
- this.mIndicatorView.removeFromSuperview();
- }
- switch (value) {
- case Indicator.None:
- this.mIndicatorView = CHIPageControlAji.new();
- break;
- case Indicator.Worm:
- this.mIndicatorView = CHIPageControlAleppo.new();
- break;
- case Indicator.Fill:
- this.mIndicatorView = CHIPageControlChimayo.new();
- break;
- case Indicator.Swap:
- this.mIndicatorView = CHIPageControlPuya.new();
- break;
- case Indicator.THIN_WORM:
- this.mIndicatorView = CHIPageControlJalapeno.new();
- break;
- case Indicator.Flat:
- this.mIndicatorView = CHIPageControlJaloro.new();
- break;
- default:
- break;
- }
- this.mIndicatorView.tintColor = UIColor.whiteColor;
- this.mIndicatorView.currentPageTintColor = UIColor.whiteColor;
-
- switch (value) {
- case Indicator.None:
- case Indicator.Worm:
- case Indicator.Fill:
- case Indicator.Swap:
- case Indicator.THIN_WORM:
- case Indicator.Disabled:
- this.mIndicatorView.radius = 4;
- break;
-
- case Indicator.Flat:
- this.mIndicatorView.radius = 2;
- this.mIndicatorView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.7, 0.5);
- break;
- }
- }
-
public get _childrenCount() {
return this.items?.length || this._childrenViews?.length || 0;
}
@@ -287,7 +222,7 @@ export class Pager extends PagerBase {
public itemTemplateUpdated(oldData: any, newData: any): void {}
public _setNativeClipToBounds(): void {
- this.pager.clipsToBounds = true;
+ this.nativeViewProtected.clipsToBounds = true;
}
public [orientationProperty.setNative](value: Orientation) {
@@ -306,7 +241,7 @@ export class Pager extends PagerBase {
}
_updateScrollPosition() {
- const view = this.pager;
+ const view = this.nativeViewProtected;
const size = this.orientation === 'vertical' ? view.contentSize.height : view.contentSize.width;
if (!view || size === 0) {
return;
@@ -328,32 +263,21 @@ export class Pager extends PagerBase {
this._itemTemplatesInternal = new Array(this._defaultTemplate);
if (value) {
for (let i = 0, length = value.length; i < length; i++) {
- this.pager.registerClassForCellWithReuseIdentifier(PagerCell.class(), value[i].key);
+ this.nativeViewProtected.registerClassForCellWithReuseIdentifier(PagerCell.class(), value[i].key);
}
this._itemTemplatesInternal = this._itemTemplatesInternal.concat(value);
}
}
[itemsProperty.setNative](value: any) {
- if (this.indicatorView && value && value.length) {
- this.indicatorView.numberOfPages = value.length;
- }
- // remove old instance
- if (this.mObservableArrayInstance) {
- this.mObservableArrayInstance.off(ObservableArray.changeEvent, this._observableArrayHandler);
- this.mObservableArrayInstance = null;
- }
- if (value instanceof ObservableArray) {
- this.mObservableArrayInstance = value as any;
- this.mObservableArrayInstance.on(ObservableArray.changeEvent, this._observableArrayHandler);
- } else {
- this.refresh();
- }
+ // if (this.indicatorView && value && value.length) {
+ // this.indicatorView.numberOfPages = value.length;
+ // }
+ this.setObservableArrayInstance(value);
if (!value) {
this.mIsInit = false;
}
- selectedIndexProperty.coerce(this);
}
[autoPlayProperty.setNative](value: boolean) {
@@ -370,35 +294,15 @@ export class Pager extends PagerBase {
}
}
- [showIndicatorProperty.setNative](value: boolean) {
- if (!this.indicatorView) {
- this._setIndicator(this.indicatorView);
- }
- if (!this.nativeView) {
+ protected _observableArrayHandler = (args) => {
+ if (!this.nativeViewProtected) {
return;
}
- this.indicatorView.center = CGPointMake(this.nativeView.center.x, this.nativeView.bounds.size.height - this.indicatorView.intrinsicContentSize.height);
- const hasParent = this.indicatorView.superview;
- if (value) {
- if (!hasParent) {
- this.nativeView.addSubview(this.indicatorView);
- }
- } else {
- if (hasParent) {
- this.indicatorView.removeFromSuperview();
- }
- }
- }
-
- private _observableArrayHandler = (args) => {
- if (!this.pager) {
- return;
- }
- if (this.indicatorView && this.mObservableArrayInstance && this.mObservableArrayInstance.length) {
- this.indicatorView.numberOfPages = this.mObservableArrayInstance.length;
- }
+ // if (this.indicatorView && this.mObservableArrayInstance && this.mObservableArrayInstance.length) {
+ // this.indicatorView.numberOfPages = this.mObservableArrayInstance.length;
+ // }
- const collectionView = this.pager;
+ const collectionView = this.nativeViewProtected;
if (collectionView) {
try {
let offset = 0;
@@ -451,9 +355,9 @@ export class Pager extends PagerBase {
_onItemsChanged(oldValue: any, newValue: any): void {}
scrollToIndexAnimated(index: number, animate: boolean) {
- if (!this.pager) return;
+ if (!this.nativeViewProtected) return;
- const contentSize = this.pager.contentSize;
+ const contentSize = this.nativeViewProtected.contentSize;
const size = this.orientation === 'vertical' ? contentSize.height : contentSize.width;
if (size === 0) {
return;
@@ -476,8 +380,8 @@ export class Pager extends PagerBase {
}
}
// dispatch_async(main_queue, () => {
- if (this.mDataSource.collectionViewNumberOfItemsInSection(this.pager, 0) > maxMinIndex) {
- this.pager.scrollToItemAtIndexPathAtScrollPositionAnimated(
+ if (this.mDataSource.collectionViewNumberOfItemsInSection(this.nativeViewProtected, 0) > maxMinIndex) {
+ this.nativeViewProtected.scrollToItemAtIndexPathAtScrollPositionAnimated(
NSIndexPath.indexPathForItemInSection(maxMinIndex, 0),
this.orientation === 'vertical' ? UICollectionViewScrollPosition.CenteredVertically : UICollectionViewScrollPosition.CenteredHorizontally,
!!animate
@@ -507,8 +411,8 @@ export class Pager extends PagerBase {
// TODO: this is ugly look here: https://github.com/nativescript-vue/nativescript-vue/issues/525
// this.clearRealizedCells();
// dispatch_async(main_queue, () => {
- this.pager.reloadData();
- this.pager.collectionViewLayout.invalidateLayout();
+ this.nativeViewProtected.reloadData();
+ this.nativeViewProtected.collectionViewLayout.invalidateLayout();
this._updateScrollPosition();
this._initAutoPlay(this.autoPlay);
// });
@@ -517,14 +421,11 @@ export class Pager extends PagerBase {
_isDataDirty = false;
public onLoaded() {
super.onLoaded();
- if (this.showIndicator && this.indicatorView) {
- this.nativeView.addSubview(this.indicatorView);
- }
if (this._isDataDirty && this.mInnerWidth !== undefined && this.mInnerHeight !== undefined) {
this.refresh();
}
- this.pager.delegate = this.mDelegate;
+ this.nativeViewProtected.delegate = this.mDelegate;
if (!this.items && this._childrenCount > 0) {
selectedIndexProperty.coerce(this);
this._updateScrollPosition();
@@ -532,8 +433,8 @@ export class Pager extends PagerBase {
}
public onUnloaded() {
- if (this.pager) {
- this.pager.delegate = null;
+ if (this.nativeViewProtected) {
+ this.nativeViewProtected.delegate = null;
}
super.onUnloaded();
}
@@ -541,16 +442,8 @@ export class Pager extends PagerBase {
public disposeNativeView() {
this.mDelegate = null;
this.mDataSource = null;
- if (this.mPager) {
- this.mPager.delegate = null;
- this.mPager = null;
- }
- this.mIndicatorView = null;
+ this.nativeViewProtected.delegate = null;
this.mLayout = null;
- if (this.mObservableArrayInstance) {
- this.mObservableArrayInstance.off(ObservableArray.changeEvent, this._observableArrayHandler);
- this.mObservableArrayInstance = null;
- }
this.clearRealizedCells();
super.disposeNativeView();
}
@@ -594,31 +487,13 @@ export class Pager extends PagerBase {
this.mMap.delete(cell);
}
- [indicatorProperty.setNative](value: Indicator) {
- this._setIndicator(value);
- }
-
- [indicatorColorProperty.setNative](value: Color | string) {
- if (this.indicatorView) {
- const color = !value || value instanceof Color ? (value as Color) : new Color(value);
- this.indicatorView.tintColor = color ? color.ios : null;
- }
- }
-
- [indicatorSelectedColorProperty.setNative](value: Color | string) {
- if (this.indicatorView) {
- const color = !value || value instanceof Color ? (value as Color) : new Color(value);
- this.indicatorView.currentPageTintColor = color ? color.ios : null;
- }
- }
-
[disableSwipeProperty.setNative](value: boolean) {
- this.mPager.scrollEnabled = !value;
+ this.nativeViewProtected.scrollEnabled = !value;
this.mDisableSwipe = value;
}
[contentInsetAdjustmentBehaviorProperty.setNative](value: ContentInsetAdjustmentBehavior) {
- this.mPager.contentInsetAdjustmentBehavior = value as any;
+ this.nativeViewProtected.contentInsetAdjustmentBehavior = value as any;
}
get disableAnimation(): boolean {
return this.mDisableAnimation;
@@ -685,11 +560,8 @@ export class Pager extends PagerBase {
if (!this.nativeView) {
return;
}
- this.pager.frame = this.nativeView.bounds;
- if (this.indicatorView && this.indicatorView.intrinsicContentSize) {
- this.indicatorView.center = CGPointMake(this.nativeView.center.x, this.nativeView.bounds.size.height - this.indicatorView.intrinsicContentSize.height);
- }
- const layoutView = this.pager.collectionViewLayout;
+ // this.nativeViewProtected.frame = this.nativeView.bounds;
+ const layoutView = this.nativeViewProtected.collectionViewLayout;
if (!layoutView) {
return;
}
@@ -698,8 +570,8 @@ export class Pager extends PagerBase {
const size = this._getSize();
this.mMap.forEach((childView, pagerCell) => {
- const width = layout.toDevicePixels(size.width);
- const height = layout.toDevicePixels(size.height);
+ const width = Utils.layout.toDevicePixels(size.width);
+ const height = Utils.layout.toDevicePixels(size.height);
View.layoutChild(this, childView, 0, 0, width, height);
});
@@ -800,35 +672,35 @@ export class Pager extends PagerBase {
_layoutCell(cellView: View, index: NSIndexPath) {
if (cellView) {
const size = this._getSize();
- const width = layout.toDevicePixels(size.width);
- const height = layout.toDevicePixels(size.height);
- const widthMeasureSpec = layout.makeMeasureSpec(width, layout.EXACTLY);
+ const width = Utils.layout.toDevicePixels(size.width);
+ const height = Utils.layout.toDevicePixels(size.height);
+ const widthMeasureSpec = Utils.layout.makeMeasureSpec(width, Utils.layout.EXACTLY);
- const heightMeasureSpec = layout.makeMeasureSpec(height, layout.EXACTLY);
+ const heightMeasureSpec = Utils.layout.makeMeasureSpec(height, Utils.layout.EXACTLY);
const measured = View.measureChild(this, cellView, widthMeasureSpec, heightMeasureSpec);
}
}
get horizontalOffset(): number {
- return this.pager ? this.pager.contentOffset.x : 0;
+ return this.nativeViewProtected ? this.nativeViewProtected.contentOffset.x : 0;
}
get verticalOffset(): number {
- return this.pager ? this.pager.contentOffset.y : 0;
+ return this.nativeViewProtected ? this.nativeViewProtected.contentOffset.y : 0;
}
_getSpacing(): number {
- return layout.toDeviceIndependentPixels(this.convertToSize(this.spacing));
+ return Utils.layout.toDeviceIndependentPixels(this.convertToSize(this.spacing));
}
_getPeaking(): number {
- return layout.toDeviceIndependentPixels(this.convertToSize(this.peaking));
+ return Utils.layout.toDeviceIndependentPixels(this.convertToSize(this.peaking));
}
_getSize(): { width: number; height: number } {
- let width = layout.toDeviceIndependentPixels(this._effectiveItemWidth);
- let height = layout.toDeviceIndependentPixels(this._effectiveItemHeight);
+ let width = Utils.layout.toDeviceIndependentPixels(this._effectiveItemWidth);
+ let height = Utils.layout.toDeviceIndependentPixels(this._effectiveItemHeight);
if (this.orientation === 'vertical') {
height = (height - (this._getSpacing() * 2 + this._getPeaking() * 2)) / this.perPage;
} else {
@@ -985,9 +857,9 @@ class UICollectionDelegateImpl extends NSObject implements UICollectionViewDeleg
}
const percent = offset / total;
const progress = percent * (owner.itemCount - 1);
- if (owner.indicatorView && owner.indicatorView.setWithProgressAnimated && !Number.isNaN(progress)) {
- owner.indicatorView.progress = progress;
- }
+ // if (owner.indicatorView && owner.indicatorView.setWithProgressAnimated && !Number.isNaN(progress)) {
+ // owner.indicatorView.progress = progress;
+ // }
const index = parseInt(progress.toFixed(0), 10);
if (owner.selectedIndex !== index && !Number.isNaN(index)) {
// selectedIndexProperty.nativeValueChange(owner, index);
@@ -1190,8 +1062,8 @@ class UICollectionViewDataSourceImpl extends NSObject implements UICollectionVie
view['iosIgnoreSafeArea'] = owner['iosIgnoreSafeArea'];
owner._layoutCell(view, indexPath);
const size = owner._getSize();
- const width = layout.toDevicePixels(size.width);
- const height = layout.toDevicePixels(size.height);
+ const width = Utils.layout.toDevicePixels(size.width);
+ const height = Utils.layout.toDevicePixels(size.height);
if (view && (view as any).isLayoutRequired) {
View.layoutChild(owner, view, 0, 0, width, height);
}
@@ -1209,7 +1081,7 @@ class UICollectionViewDataSourceImpl extends NSObject implements UICollectionVie
cellView.iosOverflowSafeArea = owner.iosOverflowSafeArea;
cellView['iosIgnoreSafeArea'] = owner['iosIgnoreSafeArea'];
if (!owner.iosOverflowSafeAreaEnabled && cellView && cellView.isLayoutRequired) {
- View.layoutChild(owner, cellView, 0, 0, layout.toDevicePixels(size.width), layout.toDevicePixels(size.height));
+ View.layoutChild(owner, cellView, 0, 0, Utils.layout.toDevicePixels(size.width), Utils.layout.toDevicePixels(size.height));
}
}
diff --git a/src/ui-pager/references.d.ts b/src/ui-pager/references.d.ts
index b0f1f78..2b6d803 100644
--- a/src/ui-pager/references.d.ts
+++ b/src/ui-pager/references.d.ts
@@ -1,2 +1 @@
-///
-///
+///
diff --git a/src/ui-pager/typings/viewpager2.d.ts b/src/ui-pager/typings/viewpager2.d.ts
index a4b89ee..3ef3e2c 100644
--- a/src/ui-pager/typings/viewpager2.d.ts
+++ b/src/ui-pager/typings/viewpager2.d.ts
@@ -201,7 +201,7 @@ declare namespace androidx {
declare namespace androidx {
export namespace viewpager2 {
export namespace widget {
- export class ViewPager2 {
+ export class ViewPager2 extends android.view.ViewGroup {
public static class: java.lang.Class;
public static ORIENTATION_HORIZONTAL: number;
public static ORIENTATION_VERTICAL: number;