@ -0,0 +1,9 @@
|
||||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea/workspace.xml
|
||||
/.idea/libraries
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
.externalNativeBuild
|
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="11" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,522 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DBNavigator.Project.DataEditorManager">
|
||||
<record-view-column-sorting-type value="BY_INDEX" />
|
||||
<value-preview-text-wrapping value="true" />
|
||||
<value-preview-pinned value="false" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseBrowserManager">
|
||||
<autoscroll-to-editor value="false" />
|
||||
<autoscroll-from-editor value="true" />
|
||||
<show-object-properties value="true" />
|
||||
<loaded-nodes />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseConsoleManager">
|
||||
<connection id="ab5ab0cf-7cd7-4502-a265-bc37f2295199">
|
||||
<console name="Connection" type="STANDARD" schema="" session="Main" />
|
||||
</connection>
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseEditorStateManager">
|
||||
<last-used-providers />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||
<open-files />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatasetFilterManager">
|
||||
<filter-actions connection-id="ab5ab0cf-7cd7-4502-a265-bc37f2295199" dataset="main.tb_tid" active-filter-id="" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ObjectQuickFilterManager">
|
||||
<last-used-operator value="EQUAL" />
|
||||
<filters />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.Settings">
|
||||
<connections>
|
||||
<connection id="ab5ab0cf-7cd7-4502-a265-bc37f2295199" active="true" signed="true">
|
||||
<database>
|
||||
<name value="Connection" />
|
||||
<description value="" />
|
||||
<database-type value="SQLITE" />
|
||||
<config-type value="BASIC" />
|
||||
<database-version value="3.41" />
|
||||
<driver-source value="BUNDLED" />
|
||||
<driver-library value="" />
|
||||
<driver value="" />
|
||||
<url-type value="FILE" />
|
||||
<host value="" />
|
||||
<port value="" />
|
||||
<database value="" />
|
||||
<tns-folder value="" />
|
||||
<tns-profile value="" />
|
||||
<files>
|
||||
<file path="E:\android\msp.db" schema="main" />
|
||||
</files>
|
||||
<type value="NONE" />
|
||||
<user value="" />
|
||||
<deprecated-pwd value="" />
|
||||
</database>
|
||||
<properties>
|
||||
<auto-commit value="false" />
|
||||
</properties>
|
||||
<ssh-settings>
|
||||
<active value="false" />
|
||||
<proxy-host value="" />
|
||||
<proxy-port value="22" />
|
||||
<proxy-user value="" />
|
||||
<deprecated-proxy-pwd value="" />
|
||||
<auth-type value="PASSWORD" />
|
||||
<key-file value="" />
|
||||
<key-passphrase value="" />
|
||||
</ssh-settings>
|
||||
<ssl-settings>
|
||||
<active value="false" />
|
||||
<certificate-authority-file value="" />
|
||||
<client-certificate-file value="" />
|
||||
<client-key-file value="" />
|
||||
</ssl-settings>
|
||||
<details>
|
||||
<charset value="UTF-8" />
|
||||
<session-management value="true" />
|
||||
<ddl-file-binding value="true" />
|
||||
<database-logging value="true" />
|
||||
<connect-automatically value="true" />
|
||||
<restore-workspace value="true" />
|
||||
<restore-workspace-deep value="false" />
|
||||
<environment-type value="default" />
|
||||
<connectivity-timeout value="30" />
|
||||
<idle-time-to-disconnect value="30" />
|
||||
<idle-time-to-disconnect-pool value="5" />
|
||||
<credential-expiry-time value="10" />
|
||||
<max-connection-pool-size value="7" />
|
||||
<alternative-statement-delimiter value="" />
|
||||
</details>
|
||||
<object-filters hide-empty-schemas="false" hide-pseudo-columns="false">
|
||||
<object-type-filter>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="true" />
|
||||
<object-type name="ROLE" enabled="true" />
|
||||
<object-type name="PRIVILEGE" enabled="true" />
|
||||
<object-type name="CHARSET" enabled="true" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||
<object-type name="NESTED_TABLE" enabled="true" />
|
||||
<object-type name="COLUMN" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="true" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||
<object-type name="ARGUMENT" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="true" />
|
||||
<object-type name="CLUSTER" enabled="true" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</object-type-filter>
|
||||
<object-name-filters />
|
||||
</object-filters>
|
||||
</connection>
|
||||
</connections>
|
||||
<browser-settings>
|
||||
<general>
|
||||
<display-mode value="TABBED" />
|
||||
<navigation-history-size value="100" />
|
||||
<show-object-details value="false" />
|
||||
</general>
|
||||
<filters>
|
||||
<object-type-filter>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="true" />
|
||||
<object-type name="ROLE" enabled="true" />
|
||||
<object-type name="PRIVILEGE" enabled="true" />
|
||||
<object-type name="CHARSET" enabled="true" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||
<object-type name="NESTED_TABLE" enabled="true" />
|
||||
<object-type name="COLUMN" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="true" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||
<object-type name="ARGUMENT" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="true" />
|
||||
<object-type name="CLUSTER" enabled="true" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</object-type-filter>
|
||||
</filters>
|
||||
<sorting>
|
||||
<object-type name="COLUMN" sorting-type="NAME" />
|
||||
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||
<object-type name="TYPE ATTRIBUTE" sorting-type="POSITION" />
|
||||
</sorting>
|
||||
<default-editors>
|
||||
<object-type name="VIEW" editor-type="SELECTION" />
|
||||
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||
<object-type name="TYPE" editor-type="SELECTION" />
|
||||
</default-editors>
|
||||
</browser-settings>
|
||||
<navigation-settings>
|
||||
<lookup-filters>
|
||||
<lookup-objects>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="false" />
|
||||
<object-type name="ROLE" enabled="false" />
|
||||
<object-type name="PRIVILEGE" enabled="false" />
|
||||
<object-type name="CHARSET" enabled="false" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="false" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="false" />
|
||||
<object-type name="CLUSTER" enabled="false" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</lookup-objects>
|
||||
<force-database-load value="false" />
|
||||
<prompt-connection-selection value="true" />
|
||||
<prompt-schema-selection value="true" />
|
||||
</lookup-filters>
|
||||
</navigation-settings>
|
||||
<dataset-grid-settings>
|
||||
<general>
|
||||
<enable-zooming value="true" />
|
||||
<enable-column-tooltip value="true" />
|
||||
</general>
|
||||
<sorting>
|
||||
<nulls-first value="true" />
|
||||
<max-sorting-columns value="4" />
|
||||
</sorting>
|
||||
<audit-columns>
|
||||
<column-names value="" />
|
||||
<visible value="true" />
|
||||
<editable value="false" />
|
||||
</audit-columns>
|
||||
</dataset-grid-settings>
|
||||
<dataset-editor-settings>
|
||||
<text-editor-popup>
|
||||
<active value="false" />
|
||||
<active-if-empty value="false" />
|
||||
<data-length-threshold value="100" />
|
||||
<popup-delay value="1000" />
|
||||
</text-editor-popup>
|
||||
<values-actions-popup>
|
||||
<show-popup-button value="true" />
|
||||
<element-count-threshold value="1000" />
|
||||
<data-length-threshold value="250" />
|
||||
</values-actions-popup>
|
||||
<general>
|
||||
<fetch-block-size value="100" />
|
||||
<fetch-timeout value="30" />
|
||||
<trim-whitespaces value="true" />
|
||||
<convert-empty-strings-to-null value="true" />
|
||||
<select-content-on-cell-edit value="true" />
|
||||
<large-value-preview-active value="true" />
|
||||
</general>
|
||||
<filters>
|
||||
<prompt-filter-dialog value="true" />
|
||||
<default-filter-type value="BASIC" />
|
||||
</filters>
|
||||
<qualified-text-editor text-length-threshold="300">
|
||||
<content-types>
|
||||
<content-type name="Text" enabled="true" />
|
||||
<content-type name="Properties" enabled="true" />
|
||||
<content-type name="XML" enabled="true" />
|
||||
<content-type name="DTD" enabled="true" />
|
||||
<content-type name="HTML" enabled="true" />
|
||||
<content-type name="XHTML" enabled="true" />
|
||||
<content-type name="Java" enabled="true" />
|
||||
<content-type name="SQL" enabled="true" />
|
||||
<content-type name="PL/SQL" enabled="true" />
|
||||
<content-type name="JSON" enabled="true" />
|
||||
<content-type name="JSON5" enabled="true" />
|
||||
<content-type name="Groovy" enabled="true" />
|
||||
<content-type name="AIDL" enabled="true" />
|
||||
<content-type name="YAML" enabled="true" />
|
||||
<content-type name="Manifest" enabled="true" />
|
||||
</content-types>
|
||||
</qualified-text-editor>
|
||||
<record-navigation>
|
||||
<navigation-target value="VIEWER" />
|
||||
</record-navigation>
|
||||
</dataset-editor-settings>
|
||||
<code-editor-settings>
|
||||
<general>
|
||||
<show-object-navigation-gutter value="false" />
|
||||
<show-spec-declaration-navigation-gutter value="true" />
|
||||
<enable-spellchecking value="true" />
|
||||
<enable-reference-spellchecking value="false" />
|
||||
</general>
|
||||
<confirmations>
|
||||
<save-changes value="false" />
|
||||
<revert-changes value="true" />
|
||||
</confirmations>
|
||||
</code-editor-settings>
|
||||
<code-completion-settings>
|
||||
<filters>
|
||||
<basic-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="false" />
|
||||
<filter-element type="OBJECT" id="view" selected="false" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||
<filter-element type="OBJECT" id="index" selected="false" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||
<filter-element type="OBJECT" id="function" selected="false" />
|
||||
<filter-element type="OBJECT" id="package" selected="false" />
|
||||
<filter-element type="OBJECT" id="type" selected="false" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</basic-filter>
|
||||
<extended-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</extended-filter>
|
||||
</filters>
|
||||
<sorting enabled="true">
|
||||
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||
<sorting-element type="OBJECT" id="column" />
|
||||
<sorting-element type="OBJECT" id="table" />
|
||||
<sorting-element type="OBJECT" id="view" />
|
||||
<sorting-element type="OBJECT" id="materialized view" />
|
||||
<sorting-element type="OBJECT" id="index" />
|
||||
<sorting-element type="OBJECT" id="constraint" />
|
||||
<sorting-element type="OBJECT" id="trigger" />
|
||||
<sorting-element type="OBJECT" id="synonym" />
|
||||
<sorting-element type="OBJECT" id="sequence" />
|
||||
<sorting-element type="OBJECT" id="procedure" />
|
||||
<sorting-element type="OBJECT" id="function" />
|
||||
<sorting-element type="OBJECT" id="package" />
|
||||
<sorting-element type="OBJECT" id="type" />
|
||||
<sorting-element type="OBJECT" id="dimension" />
|
||||
<sorting-element type="OBJECT" id="cluster" />
|
||||
<sorting-element type="OBJECT" id="dblink" />
|
||||
<sorting-element type="OBJECT" id="schema" />
|
||||
<sorting-element type="OBJECT" id="role" />
|
||||
<sorting-element type="OBJECT" id="user" />
|
||||
<sorting-element type="RESERVED_WORD" id="function" />
|
||||
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||
</sorting>
|
||||
<format>
|
||||
<enforce-code-style-case value="true" />
|
||||
</format>
|
||||
</code-completion-settings>
|
||||
<execution-engine-settings>
|
||||
<statement-execution>
|
||||
<fetch-block-size value="100" />
|
||||
<execution-timeout value="20" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<focus-result value="false" />
|
||||
<prompt-execution value="false" />
|
||||
</statement-execution>
|
||||
<script-execution>
|
||||
<command-line-interfaces />
|
||||
<execution-timeout value="300" />
|
||||
</script-execution>
|
||||
<method-execution>
|
||||
<execution-timeout value="30" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<parameter-history-size value="10" />
|
||||
</method-execution>
|
||||
</execution-engine-settings>
|
||||
<operation-settings>
|
||||
<transactions>
|
||||
<uncommitted-changes>
|
||||
<on-project-close value="ASK" />
|
||||
<on-disconnect value="ASK" />
|
||||
<on-autocommit-toggle value="ASK" />
|
||||
</uncommitted-changes>
|
||||
<multiple-uncommitted-changes>
|
||||
<on-commit value="ASK" />
|
||||
<on-rollback value="ASK" />
|
||||
</multiple-uncommitted-changes>
|
||||
</transactions>
|
||||
<session-browser>
|
||||
<disconnect-session value="ASK" />
|
||||
<kill-session value="ASK" />
|
||||
<reload-on-filter-change value="false" />
|
||||
</session-browser>
|
||||
<compiler>
|
||||
<compile-type value="KEEP" />
|
||||
<compile-dependencies value="ASK" />
|
||||
<always-show-controls value="false" />
|
||||
</compiler>
|
||||
<debugger>
|
||||
<debugger-type value="ASK" />
|
||||
<use-generic-runners value="true" />
|
||||
</debugger>
|
||||
</operation-settings>
|
||||
<ddl-file-settings>
|
||||
<extensions>
|
||||
<mapping file-type-id="VIEW" extensions="vw" />
|
||||
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||
</extensions>
|
||||
<general>
|
||||
<lookup-ddl-files value="true" />
|
||||
<create-ddl-files value="false" />
|
||||
<synchronize-ddl-files value="true" />
|
||||
<use-qualified-names value="false" />
|
||||
<make-scripts-rerunnable value="true" />
|
||||
</general>
|
||||
</ddl-file-settings>
|
||||
<general-settings>
|
||||
<regional-settings>
|
||||
<date-format value="MEDIUM" />
|
||||
<number-format value="UNGROUPED" />
|
||||
<locale value="SYSTEM_DEFAULT" />
|
||||
<use-custom-formats value="false" />
|
||||
</regional-settings>
|
||||
<environment>
|
||||
<environment-types>
|
||||
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||
</environment-types>
|
||||
<visibility-settings>
|
||||
<connection-tabs value="true" />
|
||||
<dialog-headers value="true" />
|
||||
<object-editor-tabs value="true" />
|
||||
<script-editor-tabs value="false" />
|
||||
<execution-result-tabs value="true" />
|
||||
</visibility-settings>
|
||||
</environment>
|
||||
</general-settings>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="GRADLE" />
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/FlycoTabLayout_Lib" />
|
||||
<option value="$PROJECT_DIR$/ViewPagerIndicator_library" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
<option value="$PROJECT_DIR$/banner" />
|
||||
<option value="$PROJECT_DIR$/okhttputils" />
|
||||
<option value="$PROJECT_DIR$/opendanmaku" />
|
||||
</set>
|
||||
</option>
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="BintrayJCenter" />
|
||||
<option name="name" value="BintrayJCenter" />
|
||||
<option name="url" value="https://jcenter.bintray.com/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="Google" />
|
||||
<option name="name" value="Google" />
|
||||
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="Android" />
|
||||
</component>
|
||||
</project>
|
@ -0,0 +1 @@
|
||||
/build
|
@ -0,0 +1,17 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in /Users/lihui/work/AndroidStudio/sdk/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the proguardFiles
|
||||
# directive in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
@ -0,0 +1,11 @@
|
||||
<manifest
|
||||
package="com.flyco.tablayout"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:supportsRtl="true">
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
@ -0,0 +1,957 @@
|
||||
package com.flyco.tablayout;
|
||||
|
||||
import android.animation.TypeEvaluator;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Path;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcelable;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.SparseArray;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.OvershootInterpolator;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.flyco.tablayout.listener.CustomTabEntity;
|
||||
import com.flyco.tablayout.listener.OnTabSelectListener;
|
||||
import com.flyco.tablayout.utils.FragmentChangeManager;
|
||||
import com.flyco.tablayout.utils.UnreadMsgUtils;
|
||||
import com.flyco.tablayout.widget.MsgView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/** 没有继承HorizontalScrollView不能滑动,对于ViewPager无依赖 */
|
||||
public class CommonTabLayout extends FrameLayout implements ValueAnimator.AnimatorUpdateListener {
|
||||
private Context mContext;
|
||||
private ArrayList<CustomTabEntity> mTabEntitys = new ArrayList<>();
|
||||
private LinearLayout mTabsContainer;
|
||||
private int mCurrentTab;
|
||||
private int mLastTab;
|
||||
private int mTabCount;
|
||||
/** 用于绘制显示器 */
|
||||
private Rect mIndicatorRect = new Rect();
|
||||
private GradientDrawable mIndicatorDrawable = new GradientDrawable();
|
||||
|
||||
private Paint mRectPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private Paint mDividerPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private Paint mTrianglePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private Path mTrianglePath = new Path();
|
||||
private static final int STYLE_NORMAL = 0;
|
||||
private static final int STYLE_TRIANGLE = 1;
|
||||
private static final int STYLE_BLOCK = 2;
|
||||
private int mIndicatorStyle = STYLE_NORMAL;
|
||||
|
||||
private float mTabPadding;
|
||||
private boolean mTabSpaceEqual;
|
||||
private float mTabWidth;
|
||||
|
||||
/** indicator */
|
||||
private int mIndicatorColor;
|
||||
private float mIndicatorHeight;
|
||||
private float mIndicatorWidth;
|
||||
private float mIndicatorCornerRadius;
|
||||
private float mIndicatorMarginLeft;
|
||||
private float mIndicatorMarginTop;
|
||||
private float mIndicatorMarginRight;
|
||||
private float mIndicatorMarginBottom;
|
||||
private long mIndicatorAnimDuration;
|
||||
private boolean mIndicatorAnimEnable;
|
||||
private boolean mIndicatorBounceEnable;
|
||||
private int mIndicatorGravity;
|
||||
|
||||
/** underline */
|
||||
private int mUnderlineColor;
|
||||
private float mUnderlineHeight;
|
||||
private int mUnderlineGravity;
|
||||
|
||||
/** divider */
|
||||
private int mDividerColor;
|
||||
private float mDividerWidth;
|
||||
private float mDividerPadding;
|
||||
|
||||
/** title */
|
||||
private static final int TEXT_BOLD_NONE = 0;
|
||||
private static final int TEXT_BOLD_WHEN_SELECT = 1;
|
||||
private static final int TEXT_BOLD_BOTH = 2;
|
||||
private float mTextsize;
|
||||
private int mTextSelectColor;
|
||||
private int mTextUnselectColor;
|
||||
private int mTextBold;
|
||||
private boolean mTextAllCaps;
|
||||
|
||||
/** icon */
|
||||
private boolean mIconVisible;
|
||||
private int mIconGravity;
|
||||
private float mIconWidth;
|
||||
private float mIconHeight;
|
||||
private float mIconMargin;
|
||||
|
||||
private int mHeight;
|
||||
|
||||
/** anim */
|
||||
private ValueAnimator mValueAnimator;
|
||||
private OvershootInterpolator mInterpolator = new OvershootInterpolator(1.5f);
|
||||
|
||||
private FragmentChangeManager mFragmentChangeManager;
|
||||
|
||||
public CommonTabLayout(Context context) {
|
||||
this(context, null, 0);
|
||||
}
|
||||
|
||||
public CommonTabLayout(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public CommonTabLayout(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
setWillNotDraw(false);//重写onDraw方法,需要调用这个方法来清除flag
|
||||
setClipChildren(false);
|
||||
setClipToPadding(false);
|
||||
|
||||
this.mContext = context;
|
||||
mTabsContainer = new LinearLayout(context);
|
||||
addView(mTabsContainer);
|
||||
|
||||
obtainAttributes(context, attrs);
|
||||
|
||||
//get layout_height
|
||||
String height = attrs.getAttributeValue("http://schemas.android.com/apk/res/android", "layout_height");
|
||||
|
||||
//create ViewPager
|
||||
if (height.equals(ViewGroup.LayoutParams.MATCH_PARENT + "")) {
|
||||
} else if (height.equals(ViewGroup.LayoutParams.WRAP_CONTENT + "")) {
|
||||
} else {
|
||||
int[] systemAttrs = {android.R.attr.layout_height};
|
||||
TypedArray a = context.obtainStyledAttributes(attrs, systemAttrs);
|
||||
mHeight = a.getDimensionPixelSize(0, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
a.recycle();
|
||||
}
|
||||
|
||||
mValueAnimator = ValueAnimator.ofObject(new PointEvaluator(), mLastP, mCurrentP);
|
||||
mValueAnimator.addUpdateListener(this);
|
||||
}
|
||||
|
||||
private void obtainAttributes(Context context, AttributeSet attrs) {
|
||||
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.CommonTabLayout);
|
||||
|
||||
mIndicatorStyle = ta.getInt(R.styleable.CommonTabLayout_tl_indicator_style, 0);
|
||||
mIndicatorColor = ta.getColor(R.styleable.CommonTabLayout_tl_indicator_color, Color.parseColor(mIndicatorStyle == STYLE_BLOCK ? "#4B6A87" : "#ffffff"));
|
||||
mIndicatorHeight = ta.getDimension(R.styleable.CommonTabLayout_tl_indicator_height,
|
||||
dp2px(mIndicatorStyle == STYLE_TRIANGLE ? 4 : (mIndicatorStyle == STYLE_BLOCK ? -1 : 2)));
|
||||
mIndicatorWidth = ta.getDimension(R.styleable.CommonTabLayout_tl_indicator_width, dp2px(mIndicatorStyle == STYLE_TRIANGLE ? 10 : -1));
|
||||
mIndicatorCornerRadius = ta.getDimension(R.styleable.CommonTabLayout_tl_indicator_corner_radius, dp2px(mIndicatorStyle == STYLE_BLOCK ? -1 : 0));
|
||||
mIndicatorMarginLeft = ta.getDimension(R.styleable.CommonTabLayout_tl_indicator_margin_left, dp2px(0));
|
||||
mIndicatorMarginTop = ta.getDimension(R.styleable.CommonTabLayout_tl_indicator_margin_top, dp2px(mIndicatorStyle == STYLE_BLOCK ? 7 : 0));
|
||||
mIndicatorMarginRight = ta.getDimension(R.styleable.CommonTabLayout_tl_indicator_margin_right, dp2px(0));
|
||||
mIndicatorMarginBottom = ta.getDimension(R.styleable.CommonTabLayout_tl_indicator_margin_bottom, dp2px(mIndicatorStyle == STYLE_BLOCK ? 7 : 0));
|
||||
mIndicatorAnimEnable = ta.getBoolean(R.styleable.CommonTabLayout_tl_indicator_anim_enable, true);
|
||||
mIndicatorBounceEnable = ta.getBoolean(R.styleable.CommonTabLayout_tl_indicator_bounce_enable, true);
|
||||
mIndicatorAnimDuration = ta.getInt(R.styleable.CommonTabLayout_tl_indicator_anim_duration, -1);
|
||||
mIndicatorGravity = ta.getInt(R.styleable.CommonTabLayout_tl_indicator_gravity, Gravity.BOTTOM);
|
||||
|
||||
mUnderlineColor = ta.getColor(R.styleable.CommonTabLayout_tl_underline_color, Color.parseColor("#ffffff"));
|
||||
mUnderlineHeight = ta.getDimension(R.styleable.CommonTabLayout_tl_underline_height, dp2px(0));
|
||||
mUnderlineGravity = ta.getInt(R.styleable.CommonTabLayout_tl_underline_gravity, Gravity.BOTTOM);
|
||||
|
||||
mDividerColor = ta.getColor(R.styleable.CommonTabLayout_tl_divider_color, Color.parseColor("#ffffff"));
|
||||
mDividerWidth = ta.getDimension(R.styleable.CommonTabLayout_tl_divider_width, dp2px(0));
|
||||
mDividerPadding = ta.getDimension(R.styleable.CommonTabLayout_tl_divider_padding, dp2px(12));
|
||||
|
||||
mTextsize = ta.getDimension(R.styleable.CommonTabLayout_tl_textsize, sp2px(13f));
|
||||
mTextSelectColor = ta.getColor(R.styleable.CommonTabLayout_tl_textSelectColor, Color.parseColor("#ffffff"));
|
||||
mTextUnselectColor = ta.getColor(R.styleable.CommonTabLayout_tl_textUnselectColor, Color.parseColor("#AAffffff"));
|
||||
mTextBold = ta.getInt(R.styleable.CommonTabLayout_tl_textBold, TEXT_BOLD_NONE);
|
||||
mTextAllCaps = ta.getBoolean(R.styleable.CommonTabLayout_tl_textAllCaps, false);
|
||||
|
||||
mIconVisible = ta.getBoolean(R.styleable.CommonTabLayout_tl_iconVisible, true);
|
||||
mIconGravity = ta.getInt(R.styleable.CommonTabLayout_tl_iconGravity, Gravity.TOP);
|
||||
mIconWidth = ta.getDimension(R.styleable.CommonTabLayout_tl_iconWidth, dp2px(0));
|
||||
mIconHeight = ta.getDimension(R.styleable.CommonTabLayout_tl_iconHeight, dp2px(0));
|
||||
mIconMargin = ta.getDimension(R.styleable.CommonTabLayout_tl_iconMargin, dp2px(2.5f));
|
||||
|
||||
mTabSpaceEqual = ta.getBoolean(R.styleable.CommonTabLayout_tl_tab_space_equal, true);
|
||||
mTabWidth = ta.getDimension(R.styleable.CommonTabLayout_tl_tab_width, dp2px(-1));
|
||||
mTabPadding = ta.getDimension(R.styleable.CommonTabLayout_tl_tab_padding, mTabSpaceEqual || mTabWidth > 0 ? dp2px(0) : dp2px(10));
|
||||
|
||||
ta.recycle();
|
||||
}
|
||||
|
||||
public void setTabData(ArrayList<CustomTabEntity> tabEntitys) {
|
||||
if (tabEntitys == null || tabEntitys.size() == 0) {
|
||||
throw new IllegalStateException("TabEntitys can not be NULL or EMPTY !");
|
||||
}
|
||||
|
||||
this.mTabEntitys.clear();
|
||||
this.mTabEntitys.addAll(tabEntitys);
|
||||
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
/** 关联数据支持同时切换fragments */
|
||||
public void setTabData(ArrayList<CustomTabEntity> tabEntitys, FragmentActivity fa, int containerViewId, ArrayList<Fragment> fragments) {
|
||||
mFragmentChangeManager = new FragmentChangeManager(fa.getSupportFragmentManager(), containerViewId, fragments);
|
||||
setTabData(tabEntitys);
|
||||
}
|
||||
|
||||
/** 更新数据 */
|
||||
public void notifyDataSetChanged() {
|
||||
mTabsContainer.removeAllViews();
|
||||
this.mTabCount = mTabEntitys.size();
|
||||
View tabView;
|
||||
for (int i = 0; i < mTabCount; i++) {
|
||||
if (mIconGravity == Gravity.LEFT) {
|
||||
tabView = View.inflate(mContext, R.layout.layout_tab_left, null);
|
||||
} else if (mIconGravity == Gravity.RIGHT) {
|
||||
tabView = View.inflate(mContext, R.layout.layout_tab_right, null);
|
||||
} else if (mIconGravity == Gravity.BOTTOM) {
|
||||
tabView = View.inflate(mContext, R.layout.layout_tab_bottom, null);
|
||||
} else {
|
||||
tabView = View.inflate(mContext, R.layout.layout_tab_top, null);
|
||||
}
|
||||
|
||||
tabView.setTag(i);
|
||||
addTab(i, tabView);
|
||||
}
|
||||
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
/** 创建并添加tab */
|
||||
private void addTab(final int position, View tabView) {
|
||||
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
tv_tab_title.setText(mTabEntitys.get(position).getTabTitle());
|
||||
ImageView iv_tab_icon = (ImageView) tabView.findViewById(R.id.iv_tab_icon);
|
||||
iv_tab_icon.setImageResource(mTabEntitys.get(position).getTabUnselectedIcon());
|
||||
|
||||
tabView.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
int position = (Integer) v.getTag();
|
||||
if (mCurrentTab != position) {
|
||||
setCurrentTab(position);
|
||||
if (mListener != null) {
|
||||
mListener.onTabSelect(position);
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.onTabReselect(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/** 每一个Tab的布局参数 */
|
||||
LinearLayout.LayoutParams lp_tab = mTabSpaceEqual ?
|
||||
new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, 1.0f) :
|
||||
new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
|
||||
if (mTabWidth > 0) {
|
||||
lp_tab = new LinearLayout.LayoutParams((int) mTabWidth, LayoutParams.MATCH_PARENT);
|
||||
}
|
||||
mTabsContainer.addView(tabView, position, lp_tab);
|
||||
}
|
||||
|
||||
private void updateTabStyles() {
|
||||
for (int i = 0; i < mTabCount; i++) {
|
||||
View tabView = mTabsContainer.getChildAt(i);
|
||||
tabView.setPadding((int) mTabPadding, 0, (int) mTabPadding, 0);
|
||||
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
tv_tab_title.setTextColor(i == mCurrentTab ? mTextSelectColor : mTextUnselectColor);
|
||||
tv_tab_title.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextsize);
|
||||
// tv_tab_title.setPadding((int) mTabPadding, 0, (int) mTabPadding, 0);
|
||||
if (mTextAllCaps) {
|
||||
tv_tab_title.setText(tv_tab_title.getText().toString().toUpperCase());
|
||||
}
|
||||
|
||||
if (mTextBold == TEXT_BOLD_BOTH) {
|
||||
tv_tab_title.getPaint().setFakeBoldText(true);
|
||||
} else if (mTextBold == TEXT_BOLD_NONE) {
|
||||
tv_tab_title.getPaint().setFakeBoldText(false);
|
||||
}
|
||||
|
||||
ImageView iv_tab_icon = (ImageView) tabView.findViewById(R.id.iv_tab_icon);
|
||||
if (mIconVisible) {
|
||||
iv_tab_icon.setVisibility(View.VISIBLE);
|
||||
CustomTabEntity tabEntity = mTabEntitys.get(i);
|
||||
iv_tab_icon.setImageResource(i == mCurrentTab ? tabEntity.getTabSelectedIcon() : tabEntity.getTabUnselectedIcon());
|
||||
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
|
||||
mIconWidth <= 0 ? LinearLayout.LayoutParams.WRAP_CONTENT : (int) mIconWidth,
|
||||
mIconHeight <= 0 ? LinearLayout.LayoutParams.WRAP_CONTENT : (int) mIconHeight);
|
||||
if (mIconGravity == Gravity.LEFT) {
|
||||
lp.rightMargin = (int) mIconMargin;
|
||||
} else if (mIconGravity == Gravity.RIGHT) {
|
||||
lp.leftMargin = (int) mIconMargin;
|
||||
} else if (mIconGravity == Gravity.BOTTOM) {
|
||||
lp.topMargin = (int) mIconMargin;
|
||||
} else {
|
||||
lp.bottomMargin = (int) mIconMargin;
|
||||
}
|
||||
|
||||
iv_tab_icon.setLayoutParams(lp);
|
||||
} else {
|
||||
iv_tab_icon.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateTabSelection(int position) {
|
||||
for (int i = 0; i < mTabCount; ++i) {
|
||||
View tabView = mTabsContainer.getChildAt(i);
|
||||
final boolean isSelect = i == position;
|
||||
TextView tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
tab_title.setTextColor(isSelect ? mTextSelectColor : mTextUnselectColor);
|
||||
ImageView iv_tab_icon = (ImageView) tabView.findViewById(R.id.iv_tab_icon);
|
||||
CustomTabEntity tabEntity = mTabEntitys.get(i);
|
||||
iv_tab_icon.setImageResource(isSelect ? tabEntity.getTabSelectedIcon() : tabEntity.getTabUnselectedIcon());
|
||||
if (mTextBold == TEXT_BOLD_WHEN_SELECT) {
|
||||
tab_title.getPaint().setFakeBoldText(isSelect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void calcOffset() {
|
||||
final View currentTabView = mTabsContainer.getChildAt(this.mCurrentTab);
|
||||
mCurrentP.left = currentTabView.getLeft();
|
||||
mCurrentP.right = currentTabView.getRight();
|
||||
|
||||
final View lastTabView = mTabsContainer.getChildAt(this.mLastTab);
|
||||
mLastP.left = lastTabView.getLeft();
|
||||
mLastP.right = lastTabView.getRight();
|
||||
|
||||
// Log.d("AAA", "mLastP--->" + mLastP.left + "&" + mLastP.right);
|
||||
// Log.d("AAA", "mCurrentP--->" + mCurrentP.left + "&" + mCurrentP.right);
|
||||
if (mLastP.left == mCurrentP.left && mLastP.right == mCurrentP.right) {
|
||||
invalidate();
|
||||
} else {
|
||||
mValueAnimator.setObjectValues(mLastP, mCurrentP);
|
||||
if (mIndicatorBounceEnable) {
|
||||
mValueAnimator.setInterpolator(mInterpolator);
|
||||
}
|
||||
|
||||
if (mIndicatorAnimDuration < 0) {
|
||||
mIndicatorAnimDuration = mIndicatorBounceEnable ? 500 : 250;
|
||||
}
|
||||
mValueAnimator.setDuration(mIndicatorAnimDuration);
|
||||
mValueAnimator.start();
|
||||
}
|
||||
}
|
||||
|
||||
private void calcIndicatorRect() {
|
||||
View currentTabView = mTabsContainer.getChildAt(this.mCurrentTab);
|
||||
float left = currentTabView.getLeft();
|
||||
float right = currentTabView.getRight();
|
||||
|
||||
mIndicatorRect.left = (int) left;
|
||||
mIndicatorRect.right = (int) right;
|
||||
|
||||
if (mIndicatorWidth < 0) { //indicatorWidth小于0时,原jpardogo's PagerSlidingTabStrip
|
||||
|
||||
} else {//indicatorWidth大于0时,圆角矩形以及三角形
|
||||
float indicatorLeft = currentTabView.getLeft() + (currentTabView.getWidth() - mIndicatorWidth) / 2;
|
||||
|
||||
mIndicatorRect.left = (int) indicatorLeft;
|
||||
mIndicatorRect.right = (int) (mIndicatorRect.left + mIndicatorWidth);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationUpdate(ValueAnimator animation) {
|
||||
View currentTabView = mTabsContainer.getChildAt(this.mCurrentTab);
|
||||
IndicatorPoint p = (IndicatorPoint) animation.getAnimatedValue();
|
||||
mIndicatorRect.left = (int) p.left;
|
||||
mIndicatorRect.right = (int) p.right;
|
||||
|
||||
if (mIndicatorWidth < 0) { //indicatorWidth小于0时,原jpardogo's PagerSlidingTabStrip
|
||||
|
||||
} else {//indicatorWidth大于0时,圆角矩形以及三角形
|
||||
float indicatorLeft = p.left + (currentTabView.getWidth() - mIndicatorWidth) / 2;
|
||||
|
||||
mIndicatorRect.left = (int) indicatorLeft;
|
||||
mIndicatorRect.right = (int) (mIndicatorRect.left + mIndicatorWidth);
|
||||
}
|
||||
invalidate();
|
||||
}
|
||||
|
||||
private boolean mIsFirstDraw = true;
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
|
||||
if (isInEditMode() || mTabCount <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
int height = getHeight();
|
||||
int paddingLeft = getPaddingLeft();
|
||||
// draw divider
|
||||
if (mDividerWidth > 0) {
|
||||
mDividerPaint.setStrokeWidth(mDividerWidth);
|
||||
mDividerPaint.setColor(mDividerColor);
|
||||
for (int i = 0; i < mTabCount - 1; i++) {
|
||||
View tab = mTabsContainer.getChildAt(i);
|
||||
canvas.drawLine(paddingLeft + tab.getRight(), mDividerPadding, paddingLeft + tab.getRight(), height - mDividerPadding, mDividerPaint);
|
||||
}
|
||||
}
|
||||
|
||||
// draw underline
|
||||
if (mUnderlineHeight > 0) {
|
||||
mRectPaint.setColor(mUnderlineColor);
|
||||
if (mUnderlineGravity == Gravity.BOTTOM) {
|
||||
canvas.drawRect(paddingLeft, height - mUnderlineHeight, mTabsContainer.getWidth() + paddingLeft, height, mRectPaint);
|
||||
} else {
|
||||
canvas.drawRect(paddingLeft, 0, mTabsContainer.getWidth() + paddingLeft, mUnderlineHeight, mRectPaint);
|
||||
}
|
||||
}
|
||||
|
||||
//draw indicator line
|
||||
if (mIndicatorAnimEnable) {
|
||||
if (mIsFirstDraw) {
|
||||
mIsFirstDraw = false;
|
||||
calcIndicatorRect();
|
||||
}
|
||||
} else {
|
||||
calcIndicatorRect();
|
||||
}
|
||||
|
||||
|
||||
if (mIndicatorStyle == STYLE_TRIANGLE) {
|
||||
if (mIndicatorHeight > 0) {
|
||||
mTrianglePaint.setColor(mIndicatorColor);
|
||||
mTrianglePath.reset();
|
||||
mTrianglePath.moveTo(paddingLeft + mIndicatorRect.left, height);
|
||||
mTrianglePath.lineTo(paddingLeft + mIndicatorRect.left / 2 + mIndicatorRect.right / 2, height - mIndicatorHeight);
|
||||
mTrianglePath.lineTo(paddingLeft + mIndicatorRect.right, height);
|
||||
mTrianglePath.close();
|
||||
canvas.drawPath(mTrianglePath, mTrianglePaint);
|
||||
}
|
||||
} else if (mIndicatorStyle == STYLE_BLOCK) {
|
||||
if (mIndicatorHeight < 0) {
|
||||
mIndicatorHeight = height - mIndicatorMarginTop - mIndicatorMarginBottom;
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (mIndicatorHeight > 0) {
|
||||
if (mIndicatorCornerRadius < 0 || mIndicatorCornerRadius > mIndicatorHeight / 2) {
|
||||
mIndicatorCornerRadius = mIndicatorHeight / 2;
|
||||
}
|
||||
|
||||
mIndicatorDrawable.setColor(mIndicatorColor);
|
||||
mIndicatorDrawable.setBounds(paddingLeft + (int) mIndicatorMarginLeft + mIndicatorRect.left,
|
||||
(int) mIndicatorMarginTop, (int) (paddingLeft + mIndicatorRect.right - mIndicatorMarginRight),
|
||||
(int) (mIndicatorMarginTop + mIndicatorHeight));
|
||||
mIndicatorDrawable.setCornerRadius(mIndicatorCornerRadius);
|
||||
mIndicatorDrawable.draw(canvas);
|
||||
}
|
||||
} else {
|
||||
/* mRectPaint.setColor(mIndicatorColor);
|
||||
calcIndicatorRect();
|
||||
canvas.drawRect(getPaddingLeft() + mIndicatorRect.left, getHeight() - mIndicatorHeight,
|
||||
mIndicatorRect.right + getPaddingLeft(), getHeight(), mRectPaint);*/
|
||||
|
||||
if (mIndicatorHeight > 0) {
|
||||
mIndicatorDrawable.setColor(mIndicatorColor);
|
||||
if (mIndicatorGravity == Gravity.BOTTOM) {
|
||||
mIndicatorDrawable.setBounds(paddingLeft + (int) mIndicatorMarginLeft + mIndicatorRect.left,
|
||||
height - (int) mIndicatorHeight - (int) mIndicatorMarginBottom,
|
||||
paddingLeft + mIndicatorRect.right - (int) mIndicatorMarginRight,
|
||||
height - (int) mIndicatorMarginBottom);
|
||||
} else {
|
||||
mIndicatorDrawable.setBounds(paddingLeft + (int) mIndicatorMarginLeft + mIndicatorRect.left,
|
||||
(int) mIndicatorMarginTop,
|
||||
paddingLeft + mIndicatorRect.right - (int) mIndicatorMarginRight,
|
||||
(int) mIndicatorHeight + (int) mIndicatorMarginTop);
|
||||
}
|
||||
mIndicatorDrawable.setCornerRadius(mIndicatorCornerRadius);
|
||||
mIndicatorDrawable.draw(canvas);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//setter and getter
|
||||
public void setCurrentTab(int currentTab) {
|
||||
mLastTab = this.mCurrentTab;
|
||||
this.mCurrentTab = currentTab;
|
||||
updateTabSelection(currentTab);
|
||||
if (mFragmentChangeManager != null) {
|
||||
mFragmentChangeManager.setFragments(currentTab);
|
||||
}
|
||||
if (mIndicatorAnimEnable) {
|
||||
calcOffset();
|
||||
} else {
|
||||
invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
public void setIndicatorStyle(int indicatorStyle) {
|
||||
this.mIndicatorStyle = indicatorStyle;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setTabPadding(float tabPadding) {
|
||||
this.mTabPadding = dp2px(tabPadding);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTabSpaceEqual(boolean tabSpaceEqual) {
|
||||
this.mTabSpaceEqual = tabSpaceEqual;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTabWidth(float tabWidth) {
|
||||
this.mTabWidth = dp2px(tabWidth);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setIndicatorColor(int indicatorColor) {
|
||||
this.mIndicatorColor = indicatorColor;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorHeight(float indicatorHeight) {
|
||||
this.mIndicatorHeight = dp2px(indicatorHeight);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorWidth(float indicatorWidth) {
|
||||
this.mIndicatorWidth = dp2px(indicatorWidth);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorCornerRadius(float indicatorCornerRadius) {
|
||||
this.mIndicatorCornerRadius = dp2px(indicatorCornerRadius);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorGravity(int indicatorGravity) {
|
||||
this.mIndicatorGravity = indicatorGravity;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorMargin(float indicatorMarginLeft, float indicatorMarginTop,
|
||||
float indicatorMarginRight, float indicatorMarginBottom) {
|
||||
this.mIndicatorMarginLeft = dp2px(indicatorMarginLeft);
|
||||
this.mIndicatorMarginTop = dp2px(indicatorMarginTop);
|
||||
this.mIndicatorMarginRight = dp2px(indicatorMarginRight);
|
||||
this.mIndicatorMarginBottom = dp2px(indicatorMarginBottom);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorAnimDuration(long indicatorAnimDuration) {
|
||||
this.mIndicatorAnimDuration = indicatorAnimDuration;
|
||||
}
|
||||
|
||||
public void setIndicatorAnimEnable(boolean indicatorAnimEnable) {
|
||||
this.mIndicatorAnimEnable = indicatorAnimEnable;
|
||||
}
|
||||
|
||||
public void setIndicatorBounceEnable(boolean indicatorBounceEnable) {
|
||||
this.mIndicatorBounceEnable = indicatorBounceEnable;
|
||||
}
|
||||
|
||||
public void setUnderlineColor(int underlineColor) {
|
||||
this.mUnderlineColor = underlineColor;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setUnderlineHeight(float underlineHeight) {
|
||||
this.mUnderlineHeight = dp2px(underlineHeight);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setUnderlineGravity(int underlineGravity) {
|
||||
this.mUnderlineGravity = underlineGravity;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setDividerColor(int dividerColor) {
|
||||
this.mDividerColor = dividerColor;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setDividerWidth(float dividerWidth) {
|
||||
this.mDividerWidth = dp2px(dividerWidth);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setDividerPadding(float dividerPadding) {
|
||||
this.mDividerPadding = dp2px(dividerPadding);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setTextsize(float textsize) {
|
||||
this.mTextsize = sp2px(textsize);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTextSelectColor(int textSelectColor) {
|
||||
this.mTextSelectColor = textSelectColor;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTextUnselectColor(int textUnselectColor) {
|
||||
this.mTextUnselectColor = textUnselectColor;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTextBold(int textBold) {
|
||||
this.mTextBold = textBold;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setIconVisible(boolean iconVisible) {
|
||||
this.mIconVisible = iconVisible;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setIconGravity(int iconGravity) {
|
||||
this.mIconGravity = iconGravity;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void setIconWidth(float iconWidth) {
|
||||
this.mIconWidth = dp2px(iconWidth);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setIconHeight(float iconHeight) {
|
||||
this.mIconHeight = dp2px(iconHeight);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setIconMargin(float iconMargin) {
|
||||
this.mIconMargin = dp2px(iconMargin);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTextAllCaps(boolean textAllCaps) {
|
||||
this.mTextAllCaps = textAllCaps;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
|
||||
public int getTabCount() {
|
||||
return mTabCount;
|
||||
}
|
||||
|
||||
public int getCurrentTab() {
|
||||
return mCurrentTab;
|
||||
}
|
||||
|
||||
public int getIndicatorStyle() {
|
||||
return mIndicatorStyle;
|
||||
}
|
||||
|
||||
public float getTabPadding() {
|
||||
return mTabPadding;
|
||||
}
|
||||
|
||||
public boolean isTabSpaceEqual() {
|
||||
return mTabSpaceEqual;
|
||||
}
|
||||
|
||||
public float getTabWidth() {
|
||||
return mTabWidth;
|
||||
}
|
||||
|
||||
public int getIndicatorColor() {
|
||||
return mIndicatorColor;
|
||||
}
|
||||
|
||||
public float getIndicatorHeight() {
|
||||
return mIndicatorHeight;
|
||||
}
|
||||
|
||||
public float getIndicatorWidth() {
|
||||
return mIndicatorWidth;
|
||||
}
|
||||
|
||||
public float getIndicatorCornerRadius() {
|
||||
return mIndicatorCornerRadius;
|
||||
}
|
||||
|
||||
public float getIndicatorMarginLeft() {
|
||||
return mIndicatorMarginLeft;
|
||||
}
|
||||
|
||||
public float getIndicatorMarginTop() {
|
||||
return mIndicatorMarginTop;
|
||||
}
|
||||
|
||||
public float getIndicatorMarginRight() {
|
||||
return mIndicatorMarginRight;
|
||||
}
|
||||
|
||||
public float getIndicatorMarginBottom() {
|
||||
return mIndicatorMarginBottom;
|
||||
}
|
||||
|
||||
public long getIndicatorAnimDuration() {
|
||||
return mIndicatorAnimDuration;
|
||||
}
|
||||
|
||||
public boolean isIndicatorAnimEnable() {
|
||||
return mIndicatorAnimEnable;
|
||||
}
|
||||
|
||||
public boolean isIndicatorBounceEnable() {
|
||||
return mIndicatorBounceEnable;
|
||||
}
|
||||
|
||||
public int getUnderlineColor() {
|
||||
return mUnderlineColor;
|
||||
}
|
||||
|
||||
public float getUnderlineHeight() {
|
||||
return mUnderlineHeight;
|
||||
}
|
||||
|
||||
public int getDividerColor() {
|
||||
return mDividerColor;
|
||||
}
|
||||
|
||||
public float getDividerWidth() {
|
||||
return mDividerWidth;
|
||||
}
|
||||
|
||||
public float getDividerPadding() {
|
||||
return mDividerPadding;
|
||||
}
|
||||
|
||||
public float getTextsize() {
|
||||
return mTextsize;
|
||||
}
|
||||
|
||||
public int getTextSelectColor() {
|
||||
return mTextSelectColor;
|
||||
}
|
||||
|
||||
public int getTextUnselectColor() {
|
||||
return mTextUnselectColor;
|
||||
}
|
||||
|
||||
public int getTextBold() {
|
||||
return mTextBold;
|
||||
}
|
||||
|
||||
public boolean isTextAllCaps() {
|
||||
return mTextAllCaps;
|
||||
}
|
||||
|
||||
public int getIconGravity() {
|
||||
return mIconGravity;
|
||||
}
|
||||
|
||||
public float getIconWidth() {
|
||||
return mIconWidth;
|
||||
}
|
||||
|
||||
public float getIconHeight() {
|
||||
return mIconHeight;
|
||||
}
|
||||
|
||||
public float getIconMargin() {
|
||||
return mIconMargin;
|
||||
}
|
||||
|
||||
public boolean isIconVisible() {
|
||||
return mIconVisible;
|
||||
}
|
||||
|
||||
|
||||
public ImageView getIconView(int tab) {
|
||||
View tabView = mTabsContainer.getChildAt(tab);
|
||||
ImageView iv_tab_icon = (ImageView) tabView.findViewById(R.id.iv_tab_icon);
|
||||
return iv_tab_icon;
|
||||
}
|
||||
|
||||
public TextView getTitleView(int tab) {
|
||||
View tabView = mTabsContainer.getChildAt(tab);
|
||||
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
return tv_tab_title;
|
||||
}
|
||||
|
||||
//setter and getter
|
||||
|
||||
// show MsgTipView
|
||||
private Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private SparseArray<Boolean> mInitSetMap = new SparseArray<>();
|
||||
|
||||
/**
|
||||
* 显示未读消息
|
||||
*
|
||||
* @param position 显示tab位置
|
||||
* @param num num小于等于0显示红点,num大于0显示数字
|
||||
*/
|
||||
public void showMsg(int position, int num) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
|
||||
View tabView = mTabsContainer.getChildAt(position);
|
||||
MsgView tipView = (MsgView) tabView.findViewById(R.id.rtv_msg_tip);
|
||||
if (tipView != null) {
|
||||
UnreadMsgUtils.show(tipView, num);
|
||||
|
||||
if (mInitSetMap.get(position) != null && mInitSetMap.get(position)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!mIconVisible) {
|
||||
setMsgMargin(position, 2, 2);
|
||||
} else {
|
||||
setMsgMargin(position, 0,
|
||||
mIconGravity == Gravity.LEFT || mIconGravity == Gravity.RIGHT ? 4 : 0);
|
||||
}
|
||||
|
||||
mInitSetMap.put(position, true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示未读红点
|
||||
*
|
||||
* @param position 显示tab位置
|
||||
*/
|
||||
public void showDot(int position) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
showMsg(position, 0);
|
||||
}
|
||||
|
||||
public void hideMsg(int position) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
|
||||
View tabView = mTabsContainer.getChildAt(position);
|
||||
MsgView tipView = (MsgView) tabView.findViewById(R.id.rtv_msg_tip);
|
||||
if (tipView != null) {
|
||||
tipView.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置提示红点偏移,注意
|
||||
* 1.控件为固定高度:参照点为tab内容的右上角
|
||||
* 2.控件高度不固定(WRAP_CONTENT):参照点为tab内容的右上角,此时高度已是红点的最高显示范围,所以这时bottomPadding其实就是topPadding
|
||||
*/
|
||||
public void setMsgMargin(int position, float leftPadding, float bottomPadding) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
View tabView = mTabsContainer.getChildAt(position);
|
||||
MsgView tipView = (MsgView) tabView.findViewById(R.id.rtv_msg_tip);
|
||||
if (tipView != null) {
|
||||
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
mTextPaint.setTextSize(mTextsize);
|
||||
float textWidth = mTextPaint.measureText(tv_tab_title.getText().toString());
|
||||
float textHeight = mTextPaint.descent() - mTextPaint.ascent();
|
||||
MarginLayoutParams lp = (MarginLayoutParams) tipView.getLayoutParams();
|
||||
|
||||
float iconH = mIconHeight;
|
||||
float margin = 0;
|
||||
if (mIconVisible) {
|
||||
if (iconH <= 0) {
|
||||
iconH = mContext.getResources().getDrawable(mTabEntitys.get(position).getTabSelectedIcon()).getIntrinsicHeight();
|
||||
}
|
||||
margin = mIconMargin;
|
||||
}
|
||||
|
||||
if (mIconGravity == Gravity.TOP || mIconGravity == Gravity.BOTTOM) {
|
||||
lp.leftMargin = dp2px(leftPadding);
|
||||
lp.topMargin = mHeight > 0 ? (int) (mHeight - textHeight - iconH - margin) / 2 - dp2px(bottomPadding) : dp2px(bottomPadding);
|
||||
} else {
|
||||
lp.leftMargin = dp2px(leftPadding);
|
||||
lp.topMargin = mHeight > 0 ? (int) (mHeight - Math.max(textHeight, iconH)) / 2 - dp2px(bottomPadding) : dp2px(bottomPadding);
|
||||
}
|
||||
|
||||
tipView.setLayoutParams(lp);
|
||||
}
|
||||
}
|
||||
|
||||
/** 当前类只提供了少许设置未读消息属性的方法,可以通过该方法获取MsgView对象从而各种设置 */
|
||||
public MsgView getMsgView(int position) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
View tabView = mTabsContainer.getChildAt(position);
|
||||
MsgView tipView = (MsgView) tabView.findViewById(R.id.rtv_msg_tip);
|
||||
return tipView;
|
||||
}
|
||||
|
||||
private OnTabSelectListener mListener;
|
||||
|
||||
public void setOnTabSelectListener(OnTabSelectListener listener) {
|
||||
this.mListener = listener;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Parcelable onSaveInstanceState() {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("instanceState", super.onSaveInstanceState());
|
||||
bundle.putInt("mCurrentTab", mCurrentTab);
|
||||
return bundle;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onRestoreInstanceState(Parcelable state) {
|
||||
if (state instanceof Bundle) {
|
||||
Bundle bundle = (Bundle) state;
|
||||
mCurrentTab = bundle.getInt("mCurrentTab");
|
||||
state = bundle.getParcelable("instanceState");
|
||||
if (mCurrentTab != 0 && mTabsContainer.getChildCount() > 0) {
|
||||
updateTabSelection(mCurrentTab);
|
||||
}
|
||||
}
|
||||
super.onRestoreInstanceState(state);
|
||||
}
|
||||
|
||||
class IndicatorPoint {
|
||||
public float left;
|
||||
public float right;
|
||||
}
|
||||
|
||||
private IndicatorPoint mCurrentP = new IndicatorPoint();
|
||||
private IndicatorPoint mLastP = new IndicatorPoint();
|
||||
|
||||
class PointEvaluator implements TypeEvaluator<IndicatorPoint> {
|
||||
@Override
|
||||
public IndicatorPoint evaluate(float fraction, IndicatorPoint startValue, IndicatorPoint endValue) {
|
||||
float left = startValue.left + fraction * (endValue.left - startValue.left);
|
||||
float right = startValue.right + fraction * (endValue.right - startValue.right);
|
||||
IndicatorPoint point = new IndicatorPoint();
|
||||
point.left = left;
|
||||
point.right = right;
|
||||
return point;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected int dp2px(float dp) {
|
||||
final float scale = mContext.getResources().getDisplayMetrics().density;
|
||||
return (int) (dp * scale + 0.5f);
|
||||
}
|
||||
|
||||
protected int sp2px(float sp) {
|
||||
final float scale = this.mContext.getResources().getDisplayMetrics().scaledDensity;
|
||||
return (int) (sp * scale + 0.5f);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,753 @@
|
||||
package com.flyco.tablayout;
|
||||
|
||||
import android.animation.TypeEvaluator;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcelable;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.SparseArray;
|
||||
import android.util.TypedValue;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.OvershootInterpolator;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.flyco.tablayout.listener.OnTabSelectListener;
|
||||
import com.flyco.tablayout.utils.FragmentChangeManager;
|
||||
import com.flyco.tablayout.utils.UnreadMsgUtils;
|
||||
import com.flyco.tablayout.widget.MsgView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class SegmentTabLayout extends FrameLayout implements ValueAnimator.AnimatorUpdateListener {
|
||||
private Context mContext;
|
||||
private String[] mTitles;
|
||||
private LinearLayout mTabsContainer;
|
||||
private int mCurrentTab;
|
||||
private int mLastTab;
|
||||
private int mTabCount;
|
||||
/** 用于绘制显示器 */
|
||||
private Rect mIndicatorRect = new Rect();
|
||||
private GradientDrawable mIndicatorDrawable = new GradientDrawable();
|
||||
private GradientDrawable mRectDrawable = new GradientDrawable();
|
||||
|
||||
private Paint mDividerPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
|
||||
private float mTabPadding;
|
||||
private boolean mTabSpaceEqual;
|
||||
private float mTabWidth;
|
||||
|
||||
/** indicator */
|
||||
private int mIndicatorColor;
|
||||
private float mIndicatorHeight;
|
||||
private float mIndicatorCornerRadius;
|
||||
private float mIndicatorMarginLeft;
|
||||
private float mIndicatorMarginTop;
|
||||
private float mIndicatorMarginRight;
|
||||
private float mIndicatorMarginBottom;
|
||||
private long mIndicatorAnimDuration;
|
||||
private boolean mIndicatorAnimEnable;
|
||||
private boolean mIndicatorBounceEnable;
|
||||
|
||||
/** divider */
|
||||
private int mDividerColor;
|
||||
private float mDividerWidth;
|
||||
private float mDividerPadding;
|
||||
|
||||
/** title */
|
||||
private static final int TEXT_BOLD_NONE = 0;
|
||||
private static final int TEXT_BOLD_WHEN_SELECT = 1;
|
||||
private static final int TEXT_BOLD_BOTH = 2;
|
||||
private float mTextsize;
|
||||
private int mTextSelectColor;
|
||||
private int mTextUnselectColor;
|
||||
private int mTextBold;
|
||||
private boolean mTextAllCaps;
|
||||
|
||||
private int mBarColor;
|
||||
private int mBarStrokeColor;
|
||||
private float mBarStrokeWidth;
|
||||
|
||||
private int mHeight;
|
||||
|
||||
/** anim */
|
||||
private ValueAnimator mValueAnimator;
|
||||
private OvershootInterpolator mInterpolator = new OvershootInterpolator(0.8f);
|
||||
|
||||
private FragmentChangeManager mFragmentChangeManager;
|
||||
private float[] mRadiusArr = new float[8];
|
||||
|
||||
public SegmentTabLayout(Context context) {
|
||||
this(context, null, 0);
|
||||
}
|
||||
|
||||
public SegmentTabLayout(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public SegmentTabLayout(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
setWillNotDraw(false);//重写onDraw方法,需要调用这个方法来清除flag
|
||||
setClipChildren(false);
|
||||
setClipToPadding(false);
|
||||
|
||||
this.mContext = context;
|
||||
mTabsContainer = new LinearLayout(context);
|
||||
addView(mTabsContainer);
|
||||
|
||||
obtainAttributes(context, attrs);
|
||||
|
||||
//get layout_height
|
||||
String height = attrs.getAttributeValue("http://schemas.android.com/apk/res/android", "layout_height");
|
||||
|
||||
//create ViewPager
|
||||
if (height.equals(ViewGroup.LayoutParams.MATCH_PARENT + "")) {
|
||||
} else if (height.equals(ViewGroup.LayoutParams.WRAP_CONTENT + "")) {
|
||||
} else {
|
||||
int[] systemAttrs = {android.R.attr.layout_height};
|
||||
TypedArray a = context.obtainStyledAttributes(attrs, systemAttrs);
|
||||
mHeight = a.getDimensionPixelSize(0, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
a.recycle();
|
||||
}
|
||||
|
||||
mValueAnimator = ValueAnimator.ofObject(new PointEvaluator(), mLastP, mCurrentP);
|
||||
mValueAnimator.addUpdateListener(this);
|
||||
}
|
||||
|
||||
private void obtainAttributes(Context context, AttributeSet attrs) {
|
||||
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.SegmentTabLayout);
|
||||
|
||||
mIndicatorColor = ta.getColor(R.styleable.SegmentTabLayout_tl_indicator_color, Color.parseColor("#222831"));
|
||||
mIndicatorHeight = ta.getDimension(R.styleable.SegmentTabLayout_tl_indicator_height, -1);
|
||||
mIndicatorCornerRadius = ta.getDimension(R.styleable.SegmentTabLayout_tl_indicator_corner_radius, -1);
|
||||
mIndicatorMarginLeft = ta.getDimension(R.styleable.SegmentTabLayout_tl_indicator_margin_left, dp2px(0));
|
||||
mIndicatorMarginTop = ta.getDimension(R.styleable.SegmentTabLayout_tl_indicator_margin_top, 0);
|
||||
mIndicatorMarginRight = ta.getDimension(R.styleable.SegmentTabLayout_tl_indicator_margin_right, dp2px(0));
|
||||
mIndicatorMarginBottom = ta.getDimension(R.styleable.SegmentTabLayout_tl_indicator_margin_bottom, 0);
|
||||
mIndicatorAnimEnable = ta.getBoolean(R.styleable.SegmentTabLayout_tl_indicator_anim_enable, false);
|
||||
mIndicatorBounceEnable = ta.getBoolean(R.styleable.SegmentTabLayout_tl_indicator_bounce_enable, true);
|
||||
mIndicatorAnimDuration = ta.getInt(R.styleable.SegmentTabLayout_tl_indicator_anim_duration, -1);
|
||||
|
||||
mDividerColor = ta.getColor(R.styleable.SegmentTabLayout_tl_divider_color, mIndicatorColor);
|
||||
mDividerWidth = ta.getDimension(R.styleable.SegmentTabLayout_tl_divider_width, dp2px(1));
|
||||
mDividerPadding = ta.getDimension(R.styleable.SegmentTabLayout_tl_divider_padding, 0);
|
||||
|
||||
mTextsize = ta.getDimension(R.styleable.SegmentTabLayout_tl_textsize, sp2px(13f));
|
||||
mTextSelectColor = ta.getColor(R.styleable.SegmentTabLayout_tl_textSelectColor, Color.parseColor("#ffffff"));
|
||||
mTextUnselectColor = ta.getColor(R.styleable.SegmentTabLayout_tl_textUnselectColor, mIndicatorColor);
|
||||
mTextBold = ta.getInt(R.styleable.SegmentTabLayout_tl_textBold, TEXT_BOLD_NONE);
|
||||
mTextAllCaps = ta.getBoolean(R.styleable.SegmentTabLayout_tl_textAllCaps, false);
|
||||
|
||||
mTabSpaceEqual = ta.getBoolean(R.styleable.SegmentTabLayout_tl_tab_space_equal, true);
|
||||
mTabWidth = ta.getDimension(R.styleable.SegmentTabLayout_tl_tab_width, dp2px(-1));
|
||||
mTabPadding = ta.getDimension(R.styleable.SegmentTabLayout_tl_tab_padding, mTabSpaceEqual || mTabWidth > 0 ? dp2px(0) : dp2px(10));
|
||||
|
||||
mBarColor = ta.getColor(R.styleable.SegmentTabLayout_tl_bar_color, Color.TRANSPARENT);
|
||||
mBarStrokeColor = ta.getColor(R.styleable.SegmentTabLayout_tl_bar_stroke_color, mIndicatorColor);
|
||||
mBarStrokeWidth = ta.getDimension(R.styleable.SegmentTabLayout_tl_bar_stroke_width, dp2px(1));
|
||||
|
||||
ta.recycle();
|
||||
}
|
||||
|
||||
public void setTabData(String[] titles) {
|
||||
if (titles == null || titles.length == 0) {
|
||||
throw new IllegalStateException("Titles can not be NULL or EMPTY !");
|
||||
}
|
||||
|
||||
this.mTitles = titles;
|
||||
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
/** 关联数据支持同时切换fragments */
|
||||
public void setTabData(String[] titles, FragmentActivity fa, int containerViewId, ArrayList<Fragment> fragments) {
|
||||
mFragmentChangeManager = new FragmentChangeManager(fa.getSupportFragmentManager(), containerViewId, fragments);
|
||||
setTabData(titles);
|
||||
}
|
||||
|
||||
/** 更新数据 */
|
||||
public void notifyDataSetChanged() {
|
||||
mTabsContainer.removeAllViews();
|
||||
this.mTabCount = mTitles.length;
|
||||
View tabView;
|
||||
for (int i = 0; i < mTabCount; i++) {
|
||||
tabView = View.inflate(mContext, R.layout.layout_tab_segment, null);
|
||||
tabView.setTag(i);
|
||||
addTab(i, tabView);
|
||||
}
|
||||
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
/** 创建并添加tab */
|
||||
private void addTab(final int position, View tabView) {
|
||||
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
tv_tab_title.setText(mTitles[position]);
|
||||
|
||||
tabView.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
int position = (Integer) v.getTag();
|
||||
if (mCurrentTab != position) {
|
||||
setCurrentTab(position);
|
||||
if (mListener != null) {
|
||||
mListener.onTabSelect(position);
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.onTabReselect(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/** 每一个Tab的布局参数 */
|
||||
LinearLayout.LayoutParams lp_tab = mTabSpaceEqual ?
|
||||
new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, 1.0f) :
|
||||
new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
|
||||
if (mTabWidth > 0) {
|
||||
lp_tab = new LinearLayout.LayoutParams((int) mTabWidth, LayoutParams.MATCH_PARENT);
|
||||
}
|
||||
mTabsContainer.addView(tabView, position, lp_tab);
|
||||
}
|
||||
|
||||
private void updateTabStyles() {
|
||||
for (int i = 0; i < mTabCount; i++) {
|
||||
View tabView = mTabsContainer.getChildAt(i);
|
||||
tabView.setPadding((int) mTabPadding, 0, (int) mTabPadding, 0);
|
||||
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
tv_tab_title.setTextColor(i == mCurrentTab ? mTextSelectColor : mTextUnselectColor);
|
||||
tv_tab_title.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextsize);
|
||||
// tv_tab_title.setPadding((int) mTabPadding, 0, (int) mTabPadding, 0);
|
||||
if (mTextAllCaps) {
|
||||
tv_tab_title.setText(tv_tab_title.getText().toString().toUpperCase());
|
||||
}
|
||||
|
||||
if (mTextBold == TEXT_BOLD_BOTH) {
|
||||
tv_tab_title.getPaint().setFakeBoldText(true);
|
||||
} else if (mTextBold == TEXT_BOLD_NONE) {
|
||||
tv_tab_title.getPaint().setFakeBoldText(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void updateTabSelection(int position) {
|
||||
for (int i = 0; i < mTabCount; ++i) {
|
||||
View tabView = mTabsContainer.getChildAt(i);
|
||||
final boolean isSelect = i == position;
|
||||
TextView tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
tab_title.setTextColor(isSelect ? mTextSelectColor : mTextUnselectColor);
|
||||
if (mTextBold == TEXT_BOLD_WHEN_SELECT) {
|
||||
tab_title.getPaint().setFakeBoldText(isSelect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void calcOffset() {
|
||||
final View currentTabView = mTabsContainer.getChildAt(this.mCurrentTab);
|
||||
mCurrentP.left = currentTabView.getLeft();
|
||||
mCurrentP.right = currentTabView.getRight();
|
||||
|
||||
final View lastTabView = mTabsContainer.getChildAt(this.mLastTab);
|
||||
mLastP.left = lastTabView.getLeft();
|
||||
mLastP.right = lastTabView.getRight();
|
||||
|
||||
// Log.d("AAA", "mLastP--->" + mLastP.left + "&" + mLastP.right);
|
||||
// Log.d("AAA", "mCurrentP--->" + mCurrentP.left + "&" + mCurrentP.right);
|
||||
if (mLastP.left == mCurrentP.left && mLastP.right == mCurrentP.right) {
|
||||
invalidate();
|
||||
} else {
|
||||
mValueAnimator.setObjectValues(mLastP, mCurrentP);
|
||||
if (mIndicatorBounceEnable) {
|
||||
mValueAnimator.setInterpolator(mInterpolator);
|
||||
}
|
||||
|
||||
if (mIndicatorAnimDuration < 0) {
|
||||
mIndicatorAnimDuration = mIndicatorBounceEnable ? 500 : 250;
|
||||
}
|
||||
mValueAnimator.setDuration(mIndicatorAnimDuration);
|
||||
mValueAnimator.start();
|
||||
}
|
||||
}
|
||||
|
||||
private void calcIndicatorRect() {
|
||||
View currentTabView = mTabsContainer.getChildAt(this.mCurrentTab);
|
||||
float left = currentTabView.getLeft();
|
||||
float right = currentTabView.getRight();
|
||||
|
||||
mIndicatorRect.left = (int) left;
|
||||
mIndicatorRect.right = (int) right;
|
||||
|
||||
if (!mIndicatorAnimEnable) {
|
||||
if (mCurrentTab == 0) {
|
||||
/**The corners are ordered top-left, top-right, bottom-right, bottom-left*/
|
||||
mRadiusArr[0] = mIndicatorCornerRadius;
|
||||
mRadiusArr[1] = mIndicatorCornerRadius;
|
||||
mRadiusArr[2] = 0;
|
||||
mRadiusArr[3] = 0;
|
||||
mRadiusArr[4] = 0;
|
||||
mRadiusArr[5] = 0;
|
||||
mRadiusArr[6] = mIndicatorCornerRadius;
|
||||
mRadiusArr[7] = mIndicatorCornerRadius;
|
||||
} else if (mCurrentTab == mTabCount - 1) {
|
||||
/**The corners are ordered top-left, top-right, bottom-right, bottom-left*/
|
||||
mRadiusArr[0] = 0;
|
||||
mRadiusArr[1] = 0;
|
||||
mRadiusArr[2] = mIndicatorCornerRadius;
|
||||
mRadiusArr[3] = mIndicatorCornerRadius;
|
||||
mRadiusArr[4] = mIndicatorCornerRadius;
|
||||
mRadiusArr[5] = mIndicatorCornerRadius;
|
||||
mRadiusArr[6] = 0;
|
||||
mRadiusArr[7] = 0;
|
||||
} else {
|
||||
/**The corners are ordered top-left, top-right, bottom-right, bottom-left*/
|
||||
mRadiusArr[0] = 0;
|
||||
mRadiusArr[1] = 0;
|
||||
mRadiusArr[2] = 0;
|
||||
mRadiusArr[3] = 0;
|
||||
mRadiusArr[4] = 0;
|
||||
mRadiusArr[5] = 0;
|
||||
mRadiusArr[6] = 0;
|
||||
mRadiusArr[7] = 0;
|
||||
}
|
||||
} else {
|
||||
/**The corners are ordered top-left, top-right, bottom-right, bottom-left*/
|
||||
mRadiusArr[0] = mIndicatorCornerRadius;
|
||||
mRadiusArr[1] = mIndicatorCornerRadius;
|
||||
mRadiusArr[2] = mIndicatorCornerRadius;
|
||||
mRadiusArr[3] = mIndicatorCornerRadius;
|
||||
mRadiusArr[4] = mIndicatorCornerRadius;
|
||||
mRadiusArr[5] = mIndicatorCornerRadius;
|
||||
mRadiusArr[6] = mIndicatorCornerRadius;
|
||||
mRadiusArr[7] = mIndicatorCornerRadius;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationUpdate(ValueAnimator animation) {
|
||||
IndicatorPoint p = (IndicatorPoint) animation.getAnimatedValue();
|
||||
mIndicatorRect.left = (int) p.left;
|
||||
mIndicatorRect.right = (int) p.right;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
private boolean mIsFirstDraw = true;
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
super.onDraw(canvas);
|
||||
|
||||
if (isInEditMode() || mTabCount <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
int height = getHeight();
|
||||
int paddingLeft = getPaddingLeft();
|
||||
|
||||
if (mIndicatorHeight < 0) {
|
||||
mIndicatorHeight = height - mIndicatorMarginTop - mIndicatorMarginBottom;
|
||||
}
|
||||
|
||||
if (mIndicatorCornerRadius < 0 || mIndicatorCornerRadius > mIndicatorHeight / 2) {
|
||||
mIndicatorCornerRadius = mIndicatorHeight / 2;
|
||||
}
|
||||
|
||||
//draw rect
|
||||
mRectDrawable.setColor(mBarColor);
|
||||
mRectDrawable.setStroke((int) mBarStrokeWidth, mBarStrokeColor);
|
||||
mRectDrawable.setCornerRadius(mIndicatorCornerRadius);
|
||||
mRectDrawable.setBounds(getPaddingLeft(), getPaddingTop(), getWidth() - getPaddingRight(), getHeight() - getPaddingBottom());
|
||||
mRectDrawable.draw(canvas);
|
||||
|
||||
// draw divider
|
||||
if (!mIndicatorAnimEnable && mDividerWidth > 0) {
|
||||
mDividerPaint.setStrokeWidth(mDividerWidth);
|
||||
mDividerPaint.setColor(mDividerColor);
|
||||
for (int i = 0; i < mTabCount - 1; i++) {
|
||||
View tab = mTabsContainer.getChildAt(i);
|
||||
canvas.drawLine(paddingLeft + tab.getRight(), mDividerPadding, paddingLeft + tab.getRight(), height - mDividerPadding, mDividerPaint);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//draw indicator line
|
||||
if (mIndicatorAnimEnable) {
|
||||
if (mIsFirstDraw) {
|
||||
mIsFirstDraw = false;
|
||||
calcIndicatorRect();
|
||||
}
|
||||
} else {
|
||||
calcIndicatorRect();
|
||||
}
|
||||
|
||||
mIndicatorDrawable.setColor(mIndicatorColor);
|
||||
mIndicatorDrawable.setBounds(paddingLeft + (int) mIndicatorMarginLeft + mIndicatorRect.left,
|
||||
(int) mIndicatorMarginTop, (int) (paddingLeft + mIndicatorRect.right - mIndicatorMarginRight),
|
||||
(int) (mIndicatorMarginTop + mIndicatorHeight));
|
||||
mIndicatorDrawable.setCornerRadii(mRadiusArr);
|
||||
mIndicatorDrawable.draw(canvas);
|
||||
|
||||
}
|
||||
|
||||
//setter and getter
|
||||
public void setCurrentTab(int currentTab) {
|
||||
mLastTab = this.mCurrentTab;
|
||||
this.mCurrentTab = currentTab;
|
||||
updateTabSelection(currentTab);
|
||||
if (mFragmentChangeManager != null) {
|
||||
mFragmentChangeManager.setFragments(currentTab);
|
||||
}
|
||||
if (mIndicatorAnimEnable) {
|
||||
calcOffset();
|
||||
} else {
|
||||
invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
public void setTabPadding(float tabPadding) {
|
||||
this.mTabPadding = dp2px(tabPadding);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTabSpaceEqual(boolean tabSpaceEqual) {
|
||||
this.mTabSpaceEqual = tabSpaceEqual;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTabWidth(float tabWidth) {
|
||||
this.mTabWidth = dp2px(tabWidth);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setIndicatorColor(int indicatorColor) {
|
||||
this.mIndicatorColor = indicatorColor;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorHeight(float indicatorHeight) {
|
||||
this.mIndicatorHeight = dp2px(indicatorHeight);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorCornerRadius(float indicatorCornerRadius) {
|
||||
this.mIndicatorCornerRadius = dp2px(indicatorCornerRadius);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorMargin(float indicatorMarginLeft, float indicatorMarginTop,
|
||||
float indicatorMarginRight, float indicatorMarginBottom) {
|
||||
this.mIndicatorMarginLeft = dp2px(indicatorMarginLeft);
|
||||
this.mIndicatorMarginTop = dp2px(indicatorMarginTop);
|
||||
this.mIndicatorMarginRight = dp2px(indicatorMarginRight);
|
||||
this.mIndicatorMarginBottom = dp2px(indicatorMarginBottom);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setIndicatorAnimDuration(long indicatorAnimDuration) {
|
||||
this.mIndicatorAnimDuration = indicatorAnimDuration;
|
||||
}
|
||||
|
||||
public void setIndicatorAnimEnable(boolean indicatorAnimEnable) {
|
||||
this.mIndicatorAnimEnable = indicatorAnimEnable;
|
||||
}
|
||||
|
||||
public void setIndicatorBounceEnable(boolean indicatorBounceEnable) {
|
||||
this.mIndicatorBounceEnable = indicatorBounceEnable;
|
||||
}
|
||||
|
||||
public void setDividerColor(int dividerColor) {
|
||||
this.mDividerColor = dividerColor;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setDividerWidth(float dividerWidth) {
|
||||
this.mDividerWidth = dp2px(dividerWidth);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setDividerPadding(float dividerPadding) {
|
||||
this.mDividerPadding = dp2px(dividerPadding);
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setTextsize(float textsize) {
|
||||
this.mTextsize = sp2px(textsize);
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTextSelectColor(int textSelectColor) {
|
||||
this.mTextSelectColor = textSelectColor;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTextUnselectColor(int textUnselectColor) {
|
||||
this.mTextUnselectColor = textUnselectColor;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTextBold(int textBold) {
|
||||
this.mTextBold = textBold;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public void setTextAllCaps(boolean textAllCaps) {
|
||||
this.mTextAllCaps = textAllCaps;
|
||||
updateTabStyles();
|
||||
}
|
||||
|
||||
public int getTabCount() {
|
||||
return mTabCount;
|
||||
}
|
||||
|
||||
public int getCurrentTab() {
|
||||
return mCurrentTab;
|
||||
}
|
||||
|
||||
public float getTabPadding() {
|
||||
return mTabPadding;
|
||||
}
|
||||
|
||||
public boolean isTabSpaceEqual() {
|
||||
return mTabSpaceEqual;
|
||||
}
|
||||
|
||||
public float getTabWidth() {
|
||||
return mTabWidth;
|
||||
}
|
||||
|
||||
public int getIndicatorColor() {
|
||||
return mIndicatorColor;
|
||||
}
|
||||
|
||||
public float getIndicatorHeight() {
|
||||
return mIndicatorHeight;
|
||||
}
|
||||
|
||||
public float getIndicatorCornerRadius() {
|
||||
return mIndicatorCornerRadius;
|
||||
}
|
||||
|
||||
public float getIndicatorMarginLeft() {
|
||||
return mIndicatorMarginLeft;
|
||||
}
|
||||
|
||||
public float getIndicatorMarginTop() {
|
||||
return mIndicatorMarginTop;
|
||||
}
|
||||
|
||||
public float getIndicatorMarginRight() {
|
||||
return mIndicatorMarginRight;
|
||||
}
|
||||
|
||||
public float getIndicatorMarginBottom() {
|
||||
return mIndicatorMarginBottom;
|
||||
}
|
||||
|
||||
public long getIndicatorAnimDuration() {
|
||||
return mIndicatorAnimDuration;
|
||||
}
|
||||
|
||||
public boolean isIndicatorAnimEnable() {
|
||||
return mIndicatorAnimEnable;
|
||||
}
|
||||
|
||||
public boolean isIndicatorBounceEnable() {
|
||||
return mIndicatorBounceEnable;
|
||||
}
|
||||
|
||||
public int getDividerColor() {
|
||||
return mDividerColor;
|
||||
}
|
||||
|
||||
public float getDividerWidth() {
|
||||
return mDividerWidth;
|
||||
}
|
||||
|
||||
public float getDividerPadding() {
|
||||
return mDividerPadding;
|
||||
}
|
||||
|
||||
public float getTextsize() {
|
||||
return mTextsize;
|
||||
}
|
||||
|
||||
public int getTextSelectColor() {
|
||||
return mTextSelectColor;
|
||||
}
|
||||
|
||||
public int getTextUnselectColor() {
|
||||
return mTextUnselectColor;
|
||||
}
|
||||
|
||||
public int getTextBold() {
|
||||
return mTextBold;
|
||||
}
|
||||
|
||||
public boolean isTextAllCaps() {
|
||||
return mTextAllCaps;
|
||||
}
|
||||
|
||||
public TextView getTitleView(int tab) {
|
||||
View tabView = mTabsContainer.getChildAt(tab);
|
||||
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
return tv_tab_title;
|
||||
}
|
||||
|
||||
//setter and getter
|
||||
// show MsgTipView
|
||||
private Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
private SparseArray<Boolean> mInitSetMap = new SparseArray<>();
|
||||
|
||||
/**
|
||||
* 显示未读消息
|
||||
*
|
||||
* @param position 显示tab位置
|
||||
* @param num num小于等于0显示红点,num大于0显示数字
|
||||
*/
|
||||
public void showMsg(int position, int num) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
|
||||
View tabView = mTabsContainer.getChildAt(position);
|
||||
MsgView tipView = (MsgView) tabView.findViewById(R.id.rtv_msg_tip);
|
||||
if (tipView != null) {
|
||||
UnreadMsgUtils.show(tipView, num);
|
||||
|
||||
if (mInitSetMap.get(position) != null && mInitSetMap.get(position)) {
|
||||
return;
|
||||
}
|
||||
|
||||
setMsgMargin(position, 2, 2);
|
||||
|
||||
mInitSetMap.put(position, true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示未读红点
|
||||
*
|
||||
* @param position 显示tab位置
|
||||
*/
|
||||
public void showDot(int position) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
showMsg(position, 0);
|
||||
}
|
||||
|
||||
public void hideMsg(int position) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
|
||||
View tabView = mTabsContainer.getChildAt(position);
|
||||
MsgView tipView = (MsgView) tabView.findViewById(R.id.rtv_msg_tip);
|
||||
if (tipView != null) {
|
||||
tipView.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置提示红点偏移,注意
|
||||
* 1.控件为固定高度:参照点为tab内容的右上角
|
||||
* 2.控件高度不固定(WRAP_CONTENT):参照点为tab内容的右上角,此时高度已是红点的最高显示范围,所以这时bottomPadding其实就是topPadding
|
||||
*/
|
||||
public void setMsgMargin(int position, float leftPadding, float bottomPadding) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
View tabView = mTabsContainer.getChildAt(position);
|
||||
MsgView tipView = (MsgView) tabView.findViewById(R.id.rtv_msg_tip);
|
||||
if (tipView != null) {
|
||||
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
|
||||
mTextPaint.setTextSize(mTextsize);
|
||||
float textWidth = mTextPaint.measureText(tv_tab_title.getText().toString());
|
||||
float textHeight = mTextPaint.descent() - mTextPaint.ascent();
|
||||
MarginLayoutParams lp = (MarginLayoutParams) tipView.getLayoutParams();
|
||||
|
||||
lp.leftMargin = dp2px(leftPadding);
|
||||
lp.topMargin = mHeight > 0 ? (int) (mHeight - textHeight) / 2 - dp2px(bottomPadding) : dp2px(bottomPadding);
|
||||
|
||||
tipView.setLayoutParams(lp);
|
||||
}
|
||||
}
|
||||
|
||||
/** 当前类只提供了少许设置未读消息属性的方法,可以通过该方法获取MsgView对象从而各种设置 */
|
||||
public MsgView getMsgView(int position) {
|
||||
if (position >= mTabCount) {
|
||||
position = mTabCount - 1;
|
||||
}
|
||||
View tabView = mTabsContainer.getChildAt(position);
|
||||
MsgView tipView = (MsgView) tabView.findViewById(R.id.rtv_msg_tip);
|
||||
return tipView;
|
||||
}
|
||||
|
||||
private OnTabSelectListener mListener;
|
||||
|
||||
public void setOnTabSelectListener(OnTabSelectListener listener) {
|
||||
this.mListener = listener;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Parcelable onSaveInstanceState() {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("instanceState", super.onSaveInstanceState());
|
||||
bundle.putInt("mCurrentTab", mCurrentTab);
|
||||
return bundle;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onRestoreInstanceState(Parcelable state) {
|
||||
if (state instanceof Bundle) {
|
||||
Bundle bundle = (Bundle) state;
|
||||
mCurrentTab = bundle.getInt("mCurrentTab");
|
||||
state = bundle.getParcelable("instanceState");
|
||||
if (mCurrentTab != 0 && mTabsContainer.getChildCount() > 0) {
|
||||
updateTabSelection(mCurrentTab);
|
||||
}
|
||||
}
|
||||
super.onRestoreInstanceState(state);
|
||||
}
|
||||
|
||||
class IndicatorPoint {
|
||||
public float left;
|
||||
public float right;
|
||||
}
|
||||
|
||||
private IndicatorPoint mCurrentP = new IndicatorPoint();
|
||||
private IndicatorPoint mLastP = new IndicatorPoint();
|
||||
|
||||
class PointEvaluator implements TypeEvaluator<IndicatorPoint> {
|
||||
@Override
|
||||
public IndicatorPoint evaluate(float fraction, IndicatorPoint startValue, IndicatorPoint endValue) {
|
||||
float left = startValue.left + fraction * (endValue.left - startValue.left);
|
||||
float right = startValue.right + fraction * (endValue.right - startValue.right);
|
||||
IndicatorPoint point = new IndicatorPoint();
|
||||
point.left = left;
|
||||
point.right = right;
|
||||
return point;
|
||||
}
|
||||
}
|
||||
|
||||
protected int dp2px(float dp) {
|
||||
final float scale = mContext.getResources().getDisplayMetrics().density;
|
||||
return (int) (dp * scale + 0.5f);
|
||||
}
|
||||
|
||||
protected int sp2px(float sp) {
|
||||
final float scale = this.mContext.getResources().getDisplayMetrics().scaledDensity;
|
||||
return (int) (sp * scale + 0.5f);
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.flyco.tablayout.listener;
|
||||
|
||||
import android.support.annotation.DrawableRes;
|
||||
|
||||
public interface CustomTabEntity {
|
||||
String getTabTitle();
|
||||
|
||||
@DrawableRes
|
||||
int getTabSelectedIcon();
|
||||
|
||||
@DrawableRes
|
||||
int getTabUnselectedIcon();
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
package com.flyco.tablayout.listener;
|
||||
|
||||
public interface OnTabSelectListener {
|
||||
void onTabSelect(int position);
|
||||
void onTabReselect(int position);
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package com.flyco.tablayout.utils;
|
||||
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class FragmentChangeManager {
|
||||
private FragmentManager mFragmentManager;
|
||||
private int mContainerViewId;
|
||||
/** Fragment切换数组 */
|
||||
private ArrayList<Fragment> mFragments;
|
||||
/** 当前选中的Tab */
|
||||
private int mCurrentTab;
|
||||
|
||||
public FragmentChangeManager(FragmentManager fm, int containerViewId, ArrayList<Fragment> fragments) {
|
||||
this.mFragmentManager = fm;
|
||||
this.mContainerViewId = containerViewId;
|
||||
this.mFragments = fragments;
|
||||
initFragments();
|
||||
}
|
||||
|
||||
/** 初始化fragments */
|
||||
private void initFragments() {
|
||||
for (Fragment fragment : mFragments) {
|
||||
mFragmentManager.beginTransaction().add(mContainerViewId, fragment).hide(fragment).commit();
|
||||
}
|
||||
|
||||
setFragments(0);
|
||||
}
|
||||
|
||||
/** 界面切换控制 */
|
||||
public void setFragments(int index) {
|
||||
for (int i = 0; i < mFragments.size(); i++) {
|
||||
FragmentTransaction ft = mFragmentManager.beginTransaction();
|
||||
Fragment fragment = mFragments.get(i);
|
||||
if (i == index) {
|
||||
ft.show(fragment);
|
||||
} else {
|
||||
ft.hide(fragment);
|
||||
}
|
||||
ft.commit();
|
||||
}
|
||||
mCurrentTab = index;
|
||||
}
|
||||
|
||||
public int getCurrentTab() {
|
||||
return mCurrentTab;
|
||||
}
|
||||
|
||||
public Fragment getCurrentFragment() {
|
||||
return mFragments.get(mCurrentTab);
|
||||
}
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package com.flyco.tablayout.utils;
|
||||
|
||||
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.flyco.tablayout.widget.MsgView;
|
||||
|
||||
/**
|
||||
* 未读消息提示View,显示小红点或者带有数字的红点:
|
||||
* 数字一位,圆
|
||||
* 数字两位,圆角矩形,圆角是高度的一半
|
||||
* 数字超过两位,显示99+
|
||||
*/
|
||||
public class UnreadMsgUtils {
|
||||
public static void show(MsgView msgView, int num) {
|
||||
if (msgView == null) {
|
||||
return;
|
||||
}
|
||||
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) msgView.getLayoutParams();
|
||||
DisplayMetrics dm = msgView.getResources().getDisplayMetrics();
|
||||
msgView.setVisibility(View.VISIBLE);
|
||||
if (num <= 0) {//圆点,设置默认宽高
|
||||
msgView.setStrokeWidth(0);
|
||||
msgView.setText("");
|
||||
|
||||
lp.width = (int) (5 * dm.density);
|
||||
lp.height = (int) (5 * dm.density);
|
||||
msgView.setLayoutParams(lp);
|
||||
} else {
|
||||
lp.height = (int) (18 * dm.density);
|
||||
if (num > 0 && num < 10) {//圆
|
||||
lp.width = (int) (18 * dm.density);
|
||||
msgView.setText(num + "");
|
||||
} else if (num > 9 && num < 100) {//圆角矩形,圆角是高度的一半,设置默认padding
|
||||
lp.width = RelativeLayout.LayoutParams.WRAP_CONTENT;
|
||||
msgView.setPadding((int) (6 * dm.density), 0, (int) (6 * dm.density), 0);
|
||||
msgView.setText(num + "");
|
||||
} else {//数字超过两位,显示99+
|
||||
lp.width = RelativeLayout.LayoutParams.WRAP_CONTENT;
|
||||
msgView.setPadding((int) (6 * dm.density), 0, (int) (6 * dm.density), 0);
|
||||
msgView.setText("99+");
|
||||
}
|
||||
msgView.setLayoutParams(lp);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setSize(MsgView rtv, int size) {
|
||||
if (rtv == null) {
|
||||
return;
|
||||
}
|
||||
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) rtv.getLayoutParams();
|
||||
lp.width = size;
|
||||
lp.height = size;
|
||||
rtv.setLayoutParams(lp);
|
||||
}
|
||||
}
|
@ -0,0 +1,157 @@
|
||||
package com.flyco.tablayout.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.graphics.drawable.StateListDrawable;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.flyco.tablayout.R;
|
||||
|
||||
/** 用于需要圆角矩形框背景的TextView的情况,减少直接使用TextView时引入的shape资源文件 */
|
||||
public class MsgView extends TextView {
|
||||
private Context context;
|
||||
private GradientDrawable gd_background = new GradientDrawable();
|
||||
private int backgroundColor;
|
||||
private int cornerRadius;
|
||||
private int strokeWidth;
|
||||
private int strokeColor;
|
||||
private boolean isRadiusHalfHeight;
|
||||
private boolean isWidthHeightEqual;
|
||||
|
||||
public MsgView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public MsgView(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public MsgView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
this.context = context;
|
||||
obtainAttributes(context, attrs);
|
||||
}
|
||||
|
||||
private void obtainAttributes(Context context, AttributeSet attrs) {
|
||||
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MsgView);
|
||||
backgroundColor = ta.getColor(R.styleable.MsgView_mv_backgroundColor, Color.TRANSPARENT);
|
||||
cornerRadius = ta.getDimensionPixelSize(R.styleable.MsgView_mv_cornerRadius, 0);
|
||||
strokeWidth = ta.getDimensionPixelSize(R.styleable.MsgView_mv_strokeWidth, 0);
|
||||
strokeColor = ta.getColor(R.styleable.MsgView_mv_strokeColor, Color.TRANSPARENT);
|
||||
isRadiusHalfHeight = ta.getBoolean(R.styleable.MsgView_mv_isRadiusHalfHeight, false);
|
||||
isWidthHeightEqual = ta.getBoolean(R.styleable.MsgView_mv_isWidthHeightEqual, false);
|
||||
|
||||
ta.recycle();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
if (isWidthHeightEqual() && getWidth() > 0 && getHeight() > 0) {
|
||||
int max = Math.max(getWidth(), getHeight());
|
||||
int measureSpec = MeasureSpec.makeMeasureSpec(max, MeasureSpec.EXACTLY);
|
||||
super.onMeasure(measureSpec, measureSpec);
|
||||
return;
|
||||
}
|
||||
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
|
||||
super.onLayout(changed, left, top, right, bottom);
|
||||
if (isRadiusHalfHeight()) {
|
||||
setCornerRadius(getHeight() / 2);
|
||||
} else {
|
||||
setBgSelector();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void setBackgroundColor(int backgroundColor) {
|
||||
this.backgroundColor = backgroundColor;
|
||||
setBgSelector();
|
||||
}
|
||||
|
||||
public void setCornerRadius(int cornerRadius) {
|
||||
this.cornerRadius = dp2px(cornerRadius);
|
||||
setBgSelector();
|
||||
}
|
||||
|
||||
public void setStrokeWidth(int strokeWidth) {
|
||||
this.strokeWidth = dp2px(strokeWidth);
|
||||
setBgSelector();
|
||||
}
|
||||
|
||||
public void setStrokeColor(int strokeColor) {
|
||||
this.strokeColor = strokeColor;
|
||||
setBgSelector();
|
||||
}
|
||||
|
||||
public void setIsRadiusHalfHeight(boolean isRadiusHalfHeight) {
|
||||
this.isRadiusHalfHeight = isRadiusHalfHeight;
|
||||
setBgSelector();
|
||||
}
|
||||
|
||||
public void setIsWidthHeightEqual(boolean isWidthHeightEqual) {
|
||||
this.isWidthHeightEqual = isWidthHeightEqual;
|
||||
setBgSelector();
|
||||
}
|
||||
|
||||
public int getBackgroundColor() {
|
||||
return backgroundColor;
|
||||
}
|
||||
|
||||
public int getCornerRadius() {
|
||||
return cornerRadius;
|
||||
}
|
||||
|
||||
public int getStrokeWidth() {
|
||||
return strokeWidth;
|
||||
}
|
||||
|
||||
public int getStrokeColor() {
|
||||
return strokeColor;
|
||||
}
|
||||
|
||||
public boolean isRadiusHalfHeight() {
|
||||
return isRadiusHalfHeight;
|
||||
}
|
||||
|
||||
public boolean isWidthHeightEqual() {
|
||||
return isWidthHeightEqual;
|
||||
}
|
||||
|
||||
protected int dp2px(float dp) {
|
||||
final float scale = context.getResources().getDisplayMetrics().density;
|
||||
return (int) (dp * scale + 0.5f);
|
||||
}
|
||||
|
||||
protected int sp2px(float sp) {
|
||||
final float scale = this.context.getResources().getDisplayMetrics().scaledDensity;
|
||||
return (int) (sp * scale + 0.5f);
|
||||
}
|
||||
|
||||
private void setDrawable(GradientDrawable gd, int color, int strokeColor) {
|
||||
gd.setColor(color);
|
||||
gd.setCornerRadius(cornerRadius);
|
||||
gd.setStroke(strokeWidth, strokeColor);
|
||||
}
|
||||
|
||||
public void setBgSelector() {
|
||||
StateListDrawable bg = new StateListDrawable();
|
||||
|
||||
setDrawable(gd_background, backgroundColor, strokeColor);
|
||||
bg.addState(new int[]{-android.R.attr.state_pressed}, gd_background);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {//16
|
||||
setBackground(bg);
|
||||
} else {
|
||||
//noinspection deprecation
|
||||
setBackgroundDrawable(bg);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tab_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:singleLine="true"/>
|
||||
|
||||
<com.flyco.tablayout.widget.MsgView
|
||||
android:id="@+id/rtv_msg_tip"
|
||||
xmlns:mv="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textColor="#ffffff"
|
||||
android:textSize="11.5sp"
|
||||
android:visibility="gone"
|
||||
mv:mv_backgroundColor="#FD481F"
|
||||
mv:mv_isRadiusHalfHeight="true"
|
||||
mv:mv_strokeColor="#ffffff"
|
||||
mv:mv_strokeWidth="1dp"/>
|
||||
|
||||
</RelativeLayout>
|
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_tap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tab_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_tab_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.flyco.tablayout.widget.MsgView
|
||||
android:id="@+id/rtv_msg_tip"
|
||||
xmlns:mv="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@+id/ll_tap"
|
||||
android:gravity="center"
|
||||
android:textColor="#ffffff"
|
||||
android:textSize="11.5sp"
|
||||
android:visibility="gone"
|
||||
mv:mv_backgroundColor="#FD481F"
|
||||
mv:mv_isRadiusHalfHeight="true"
|
||||
mv:mv_strokeColor="#ffffff"
|
||||
mv:mv_strokeWidth="1dp"/>
|
||||
|
||||
</RelativeLayout>
|
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_tap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_tab_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tab_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"/>
|
||||
</LinearLayout>
|
||||
|
||||
<com.flyco.tablayout.widget.MsgView
|
||||
android:layout_toRightOf="@+id/ll_tap"
|
||||
android:id="@+id/rtv_msg_tip"
|
||||
xmlns:mv="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textColor="#ffffff"
|
||||
android:textSize="11.5sp"
|
||||
android:visibility="gone"
|
||||
mv:mv_backgroundColor="#FD481F"
|
||||
mv:mv_isRadiusHalfHeight="true"
|
||||
mv:mv_strokeColor="#ffffff"
|
||||
mv:mv_strokeWidth="1dp"/>
|
||||
|
||||
</RelativeLayout>
|
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_tap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tab_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_tab_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.flyco.tablayout.widget.MsgView
|
||||
android:id="@+id/rtv_msg_tip"
|
||||
xmlns:mv="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@+id/ll_tap"
|
||||
android:gravity="center"
|
||||
android:textColor="#ffffff"
|
||||
android:textSize="11.5sp"
|
||||
android:visibility="gone"
|
||||
mv:mv_backgroundColor="#FD481F"
|
||||
mv:mv_isRadiusHalfHeight="true"
|
||||
mv:mv_strokeColor="#ffffff"
|
||||
mv:mv_strokeWidth="1dp"/>
|
||||
|
||||
</RelativeLayout>
|
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_tap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tab_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"/>
|
||||
</LinearLayout>
|
||||
|
||||
<com.flyco.tablayout.widget.MsgView
|
||||
android:layout_toRightOf="@+id/ll_tap"
|
||||
android:id="@+id/rtv_msg_tip"
|
||||
xmlns:mv="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textColor="#ffffff"
|
||||
android:textSize="11.5sp"
|
||||
android:visibility="gone"
|
||||
mv:mv_backgroundColor="#FD481F"
|
||||
mv:mv_isRadiusHalfHeight="true"
|
||||
mv:mv_strokeColor="#ffffff"
|
||||
mv:mv_strokeWidth="1dp"/>
|
||||
|
||||
</RelativeLayout>
|
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_tap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_tab_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tab_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"/>
|
||||
</LinearLayout>
|
||||
|
||||
<com.flyco.tablayout.widget.MsgView
|
||||
android:id="@+id/rtv_msg_tip"
|
||||
xmlns:mv="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@+id/ll_tap"
|
||||
android:gravity="center"
|
||||
android:textColor="#ffffff"
|
||||
android:textSize="11.5sp"
|
||||
android:visibility="gone"
|
||||
mv:mv_backgroundColor="#FD481F"
|
||||
mv:mv_isRadiusHalfHeight="true"
|
||||
mv:mv_strokeColor="#ffffff"
|
||||
mv:mv_strokeWidth="1dp"/>
|
||||
|
||||
</RelativeLayout>
|
@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- indicator -->
|
||||
<!-- 设置显示器颜色 -->
|
||||
<attr name="tl_indicator_color" format="color"/>
|
||||
<!-- 设置显示器高度 -->
|
||||
<attr name="tl_indicator_height" format="dimension"/>
|
||||
<!-- 设置显示器固定宽度 -->
|
||||
<attr name="tl_indicator_width" format="dimension"/>
|
||||
<!-- 设置显示器margin,当indicator_width大于0,无效 -->
|
||||
<attr name="tl_indicator_margin_left" format="dimension"/>
|
||||
<attr name="tl_indicator_margin_top" format="dimension"/>
|
||||
<attr name="tl_indicator_margin_right" format="dimension"/>
|
||||
<attr name="tl_indicator_margin_bottom" format="dimension"/>
|
||||
<!-- 设置显示器圆角弧度-->
|
||||
<attr name="tl_indicator_corner_radius" format="dimension"/>
|
||||
<!-- 设置显示器上方还是下方,只对圆角矩形有用-->
|
||||
<attr name="tl_indicator_gravity" format="enum">
|
||||
<enum name="TOP" value="48"/>
|
||||
<enum name="BOTTOM" value="80"/>
|
||||
</attr>
|
||||
<!-- 设置显示器为常规|三角形|背景色块|-->
|
||||
<attr name="tl_indicator_style" format="enum">
|
||||
<enum name="NORMAL" value="0"/>
|
||||
<enum name="TRIANGLE" value="1"/>
|
||||
<enum name="BLOCK" value="2"/>
|
||||
</attr>
|
||||
<!-- 设置显示器长度与title一样长,只有在STYLE_NORMAL并且indicatorWidth小于零有效-->
|
||||
<attr name="tl_indicator_width_equal_title" format="boolean"/>
|
||||
<!-- 设置显示器支持动画-->
|
||||
<attr name="tl_indicator_anim_enable" format="boolean"/>
|
||||
<!-- 设置显示器动画时间-->
|
||||
<attr name="tl_indicator_anim_duration" format="integer"/>
|
||||
<!-- 设置显示器支持动画回弹效果-->
|
||||
<attr name="tl_indicator_bounce_enable" format="boolean"/>
|
||||
|
||||
<!-- underline -->
|
||||
<!-- 设置下划线颜色 -->
|
||||
<attr name="tl_underline_color" format="color"/>
|
||||
<!-- 设置下划线高度 -->
|
||||
<attr name="tl_underline_height" format="dimension"/>
|
||||
<!-- 设置下划线上方还是下方-->
|
||||
<attr name="tl_underline_gravity" format="enum">
|
||||
<enum name="TOP" value="48"/>
|
||||
<enum name="BOTTOM" value="80"/>
|
||||
</attr>
|
||||
|
||||
<!-- divider -->
|
||||
<!-- 设置分割线颜色 -->
|
||||
<attr name="tl_divider_color" format="color"/>
|
||||
<!-- 设置分割线宽度 -->
|
||||
<attr name="tl_divider_width" format="dimension"/>
|
||||
<!-- 设置分割线的paddingTop和paddingBottom -->
|
||||
<attr name="tl_divider_padding" format="dimension"/>
|
||||
|
||||
<!-- tab -->
|
||||
<!-- 设置tab的paddingLeft和paddingRight -->
|
||||
<attr name="tl_tab_padding" format="dimension"/>
|
||||
<!-- 设置tab大小等分 -->
|
||||
<attr name="tl_tab_space_equal" format="boolean"/>
|
||||
<!-- 设置tab固定大小 -->
|
||||
<attr name="tl_tab_width" format="dimension"/>
|
||||
|
||||
<!-- title -->
|
||||
<!-- 设置字体大小 -->
|
||||
<attr name="tl_textsize" format="dimension"/>
|
||||
<!-- 设置字体选中颜色 -->
|
||||
<attr name="tl_textSelectColor" format="color"/>
|
||||
<!-- 设置字体未选中颜色 -->
|
||||
<attr name="tl_textUnselectColor" format="color"/>
|
||||
<!-- 设置字体加粗 -->
|
||||
<attr name="tl_textBold" format="enum">
|
||||
<enum name="NONE" value="0"/>
|
||||
<enum name="SELECT" value="1"/>
|
||||
<enum name="BOTH" value="2"/>
|
||||
</attr>
|
||||
<!-- 设置字体全大写 -->
|
||||
<attr name="tl_textAllCaps" format="boolean"/>
|
||||
|
||||
<declare-styleable name="SlidingTabLayout">
|
||||
<!-- indicator -->
|
||||
<attr name="tl_indicator_color"/>
|
||||
<attr name="tl_indicator_height"/>
|
||||
<attr name="tl_indicator_width"/>
|
||||
<attr name="tl_indicator_margin_left"/>
|
||||
<attr name="tl_indicator_margin_top"/>
|
||||
<attr name="tl_indicator_margin_right"/>
|
||||
<attr name="tl_indicator_margin_bottom"/>
|
||||
<attr name="tl_indicator_corner_radius"/>
|
||||
<attr name="tl_indicator_gravity"/>
|
||||
<attr name="tl_indicator_style"/>
|
||||
<attr name="tl_indicator_width_equal_title"/>
|
||||
|
||||
<!-- underline -->
|
||||
<attr name="tl_underline_color"/>
|
||||
<attr name="tl_underline_height"/>
|
||||
<attr name="tl_underline_gravity"/>
|
||||
|
||||
<!-- divider -->
|
||||
<attr name="tl_divider_color"/>
|
||||
<attr name="tl_divider_width"/>
|
||||
<attr name="tl_divider_padding"/>
|
||||
|
||||
<!-- tab -->
|
||||
<attr name="tl_tab_padding"/>
|
||||
<attr name="tl_tab_space_equal"/>
|
||||
<attr name="tl_tab_width"/>
|
||||
|
||||
<!-- title -->
|
||||
<attr name="tl_textsize"/>
|
||||
<attr name="tl_textSelectColor"/>
|
||||
<attr name="tl_textUnselectColor"/>
|
||||
<attr name="tl_textBold"/>
|
||||
<attr name="tl_textAllCaps"/>
|
||||
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="CommonTabLayout">
|
||||
<!-- indicator -->
|
||||
<attr name="tl_indicator_color"/>
|
||||
<attr name="tl_indicator_height"/>
|
||||
<attr name="tl_indicator_width"/>
|
||||
<attr name="tl_indicator_margin_left"/>
|
||||
<attr name="tl_indicator_margin_top"/>
|
||||
<attr name="tl_indicator_margin_right"/>
|
||||
<attr name="tl_indicator_margin_bottom"/>
|
||||
<attr name="tl_indicator_corner_radius"/>
|
||||
<attr name="tl_indicator_gravity"/>
|
||||
<attr name="tl_indicator_style"/>
|
||||
<attr name="tl_indicator_anim_enable"/>
|
||||
<attr name="tl_indicator_anim_duration"/>
|
||||
<attr name="tl_indicator_bounce_enable"/>
|
||||
|
||||
<!-- underline -->
|
||||
<attr name="tl_underline_color"/>
|
||||
<attr name="tl_underline_height"/>
|
||||
<attr name="tl_underline_gravity"/>
|
||||
|
||||
<!-- divider -->
|
||||
<attr name="tl_divider_color"/>
|
||||
<attr name="tl_divider_width"/>
|
||||
<attr name="tl_divider_padding"/>
|
||||
|
||||
<!-- tab -->
|
||||
<attr name="tl_tab_padding"/>
|
||||
<attr name="tl_tab_space_equal"/>
|
||||
<attr name="tl_tab_width"/>
|
||||
|
||||
<!-- title -->
|
||||
<attr name="tl_textsize"/>
|
||||
<attr name="tl_textSelectColor"/>
|
||||
<attr name="tl_textUnselectColor"/>
|
||||
<attr name="tl_textBold"/>
|
||||
<attr name="tl_textAllCaps"/>
|
||||
|
||||
<!-- icon -->
|
||||
<!-- 设置icon宽度 -->
|
||||
<attr name="tl_iconWidth" format="dimension"/>
|
||||
<!-- 设置icon高度 -->
|
||||
<attr name="tl_iconHeight" format="dimension"/>
|
||||
<!-- 设置icon是否可见 -->
|
||||
<attr name="tl_iconVisible" format="boolean"/>
|
||||
<!-- 设置icon显示位置,对应Gravity中常量值 -->
|
||||
<attr name="tl_iconGravity" format="enum">
|
||||
<enum name="LEFT" value="3"/>
|
||||
<enum name="TOP" value="48"/>
|
||||
<enum name="RIGHT" value="5"/>
|
||||
<enum name="BOTTOM" value="80"/>
|
||||
</attr>
|
||||
<!-- 设置icon与文字间距 -->
|
||||
<attr name="tl_iconMargin" format="dimension"/>
|
||||
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="SegmentTabLayout">
|
||||
<!-- indicator -->
|
||||
<attr name="tl_indicator_color"/>
|
||||
<attr name="tl_indicator_height"/>
|
||||
<attr name="tl_indicator_margin_left"/>
|
||||
<attr name="tl_indicator_margin_top"/>
|
||||
<attr name="tl_indicator_margin_right"/>
|
||||
<attr name="tl_indicator_margin_bottom"/>
|
||||
<attr name="tl_indicator_corner_radius"/>
|
||||
<attr name="tl_indicator_anim_enable"/>
|
||||
<attr name="tl_indicator_anim_duration"/>
|
||||
<attr name="tl_indicator_bounce_enable"/>
|
||||
|
||||
<!-- divider -->
|
||||
<attr name="tl_divider_color"/>
|
||||
<attr name="tl_divider_width"/>
|
||||
<attr name="tl_divider_padding"/>
|
||||
|
||||
<!-- tab -->
|
||||
<attr name="tl_tab_padding"/>
|
||||
<attr name="tl_tab_space_equal"/>
|
||||
<attr name="tl_tab_width"/>
|
||||
|
||||
<!-- title -->
|
||||
<attr name="tl_textsize"/>
|
||||
<attr name="tl_textSelectColor"/>
|
||||
<attr name="tl_textUnselectColor"/>
|
||||
<attr name="tl_textBold"/>
|
||||
<attr name="tl_textAllCaps"/>
|
||||
|
||||
<attr name="tl_bar_color" format="color"/>
|
||||
<attr name="tl_bar_stroke_color" format="color"/>
|
||||
<attr name="tl_bar_stroke_width" format="dimension"/>
|
||||
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="MsgView">
|
||||
<!-- 圆角矩形背景色 -->
|
||||
<attr name="mv_backgroundColor" format="color"/>
|
||||
<!-- 圆角弧度,单位dp-->
|
||||
<attr name="mv_cornerRadius" format="dimension"/>
|
||||
<!-- 圆角弧度,单位dp-->
|
||||
<attr name="mv_strokeWidth" format="dimension"/>
|
||||
<!-- 圆角边框颜色-->
|
||||
<attr name="mv_strokeColor" format="color"/>
|
||||
<!-- 圆角弧度是高度一半-->
|
||||
<attr name="mv_isRadiusHalfHeight" format="boolean"/>
|
||||
<!-- 圆角矩形宽高相等,取较宽高中大值-->
|
||||
<attr name="mv_isWidthHeightEqual" format="boolean"/>
|
||||
</declare-styleable>
|
||||
</resources>
|
@ -0,0 +1,22 @@
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
compileSdkVersion 23
|
||||
buildToolsVersion "23.0.3"
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 23
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'com.android.support:support-v4:23.3.0'
|
||||
}
|
@ -0,0 +1 @@
|
||||
o/classes
|
@ -0,0 +1 @@
|
||||
i/
|
@ -0,0 +1 @@
|
||||
o/classes
|
@ -0,0 +1 @@
|
||||
i/
|
@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.viewpagerindicator.test;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String APPLICATION_ID = "com.viewpagerindicator.test";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = -1;
|
||||
public static final String VERSION_NAME = "";
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.viewpagerindicator;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String LIBRARY_PACKAGE_NAME = "com.viewpagerindicator";
|
||||
/**
|
||||
* @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String APPLICATION_ID = "com.viewpagerindicator";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 65;
|
||||
public static final String VERSION_NAME = "2.4.1";
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.viewpagerindicator;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = false;
|
||||
public static final String APPLICATION_ID = "com.viewpagerindicator";
|
||||
public static final String BUILD_TYPE = "release";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 65;
|
||||
public static final String VERSION_NAME = "2.4.1";
|
||||
}
|
@ -0,0 +1,168 @@
|
||||
/* AUTO-GENERATED FILE. DO NOT MODIFY.
|
||||
*
|
||||
* This class was automatically generated by the
|
||||
* aapt tool from the resource data it found. It
|
||||
* should not be modified by hand.
|
||||
*/
|
||||
package com.viewpagerindicator;
|
||||
|
||||
public final class R {
|
||||
public static final class attr {
|
||||
public static final int centered = 0x7f010000;
|
||||
public static final int clipPadding = 0x7f01000b;
|
||||
public static final int fadeDelay = 0x7f010017;
|
||||
public static final int fadeLength = 0x7f010018;
|
||||
public static final int fades = 0x7f010016;
|
||||
public static final int fillColor = 0x7f010004;
|
||||
public static final int footerColor = 0x7f01000c;
|
||||
public static final int footerIndicatorHeight = 0x7f01000f;
|
||||
public static final int footerIndicatorStyle = 0x7f01000e;
|
||||
public static final int footerIndicatorUnderlinePadding = 0x7f010010;
|
||||
public static final int footerLineHeight = 0x7f01000d;
|
||||
public static final int footerPadding = 0x7f010011;
|
||||
public static final int gapWidth = 0x7f01000a;
|
||||
public static final int linePosition = 0x7f010012;
|
||||
public static final int lineWidth = 0x7f010009;
|
||||
public static final int pageColor = 0x7f010005;
|
||||
public static final int radius = 0x7f010006;
|
||||
public static final int selectedBold = 0x7f010013;
|
||||
public static final int selectedColor = 0x7f010001;
|
||||
public static final int snap = 0x7f010007;
|
||||
public static final int strokeColor = 0x7f010008;
|
||||
public static final int strokeWidth = 0x7f010002;
|
||||
public static final int titlePadding = 0x7f010014;
|
||||
public static final int topPadding = 0x7f010015;
|
||||
public static final int unselectedColor = 0x7f010003;
|
||||
public static final int vpiCirclePageIndicatorStyle = 0x7f010019;
|
||||
public static final int vpiIconPageIndicatorStyle = 0x7f01001a;
|
||||
public static final int vpiLinePageIndicatorStyle = 0x7f01001b;
|
||||
public static final int vpiTabPageIndicatorStyle = 0x7f01001d;
|
||||
public static final int vpiTitlePageIndicatorStyle = 0x7f01001c;
|
||||
public static final int vpiUnderlinePageIndicatorStyle = 0x7f01001e;
|
||||
}
|
||||
public static final class bool {
|
||||
public static final int default_circle_indicator_centered = 0x7f030000;
|
||||
public static final int default_circle_indicator_snap = 0x7f030001;
|
||||
public static final int default_line_indicator_centered = 0x7f030002;
|
||||
public static final int default_title_indicator_selected_bold = 0x7f030003;
|
||||
public static final int default_underline_indicator_fades = 0x7f030004;
|
||||
}
|
||||
public static final class color {
|
||||
public static final int default_circle_indicator_fill_color = 0x7f040000;
|
||||
public static final int default_circle_indicator_page_color = 0x7f040001;
|
||||
public static final int default_circle_indicator_stroke_color = 0x7f040002;
|
||||
public static final int default_line_indicator_selected_color = 0x7f040003;
|
||||
public static final int default_line_indicator_unselected_color = 0x7f040004;
|
||||
public static final int default_title_indicator_footer_color = 0x7f040005;
|
||||
public static final int default_title_indicator_selected_color = 0x7f040006;
|
||||
public static final int default_title_indicator_text_color = 0x7f040007;
|
||||
public static final int default_underline_indicator_selected_color = 0x7f040008;
|
||||
public static final int vpi__background_holo_dark = 0x7f040009;
|
||||
public static final int vpi__background_holo_light = 0x7f04000a;
|
||||
public static final int vpi__bright_foreground_disabled_holo_dark = 0x7f04000b;
|
||||
public static final int vpi__bright_foreground_disabled_holo_light = 0x7f04000c;
|
||||
public static final int vpi__bright_foreground_holo_dark = 0x7f04000d;
|
||||
public static final int vpi__bright_foreground_holo_light = 0x7f04000e;
|
||||
public static final int vpi__bright_foreground_inverse_holo_dark = 0x7f04000f;
|
||||
public static final int vpi__bright_foreground_inverse_holo_light = 0x7f040010;
|
||||
public static final int vpi__dark_theme = 0x7f040011;
|
||||
public static final int vpi__light_theme = 0x7f040012;
|
||||
}
|
||||
public static final class dimen {
|
||||
public static final int default_circle_indicator_radius = 0x7f050000;
|
||||
public static final int default_circle_indicator_stroke_width = 0x7f050001;
|
||||
public static final int default_line_indicator_gap_width = 0x7f050002;
|
||||
public static final int default_line_indicator_line_width = 0x7f050003;
|
||||
public static final int default_line_indicator_stroke_width = 0x7f050004;
|
||||
public static final int default_title_indicator_clip_padding = 0x7f050005;
|
||||
public static final int default_title_indicator_footer_indicator_height = 0x7f050006;
|
||||
public static final int default_title_indicator_footer_indicator_underline_padding = 0x7f050007;
|
||||
public static final int default_title_indicator_footer_line_height = 0x7f050008;
|
||||
public static final int default_title_indicator_footer_padding = 0x7f050009;
|
||||
public static final int default_title_indicator_text_size = 0x7f05000a;
|
||||
public static final int default_title_indicator_title_padding = 0x7f05000b;
|
||||
public static final int default_title_indicator_top_padding = 0x7f05000c;
|
||||
}
|
||||
public static final class drawable {
|
||||
public static final int community_tab_subscript = 0x7f020000;
|
||||
public static final int tab = 0x7f020001;
|
||||
public static final int vpi__tab_indicator = 0x7f020002;
|
||||
public static final int vpi__tab_selected_focused_holo = 0x7f020003;
|
||||
public static final int vpi__tab_selected_holo = 0x7f020004;
|
||||
public static final int vpi__tab_selected_pressed_holo = 0x7f020005;
|
||||
public static final int vpi__tab_unselected_focused_holo = 0x7f020006;
|
||||
public static final int vpi__tab_unselected_holo = 0x7f020007;
|
||||
public static final int vpi__tab_unselected_pressed_holo = 0x7f020008;
|
||||
public static final int vpi_text_tab_indicator = 0x7f020009;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int bottom = 0x7f080003;
|
||||
public static final int none = 0x7f080000;
|
||||
public static final int top = 0x7f080004;
|
||||
public static final int triangle = 0x7f080001;
|
||||
public static final int underline = 0x7f080002;
|
||||
}
|
||||
public static final class integer {
|
||||
public static final int default_circle_indicator_orientation = 0x7f060000;
|
||||
public static final int default_title_indicator_footer_indicator_style = 0x7f060001;
|
||||
public static final int default_title_indicator_line_position = 0x7f060002;
|
||||
public static final int default_underline_indicator_fade_delay = 0x7f060003;
|
||||
public static final int default_underline_indicator_fade_length = 0x7f060004;
|
||||
}
|
||||
public static final class style {
|
||||
public static final int TextAppearance_TabPageIndicator = 0x7f070000;
|
||||
public static final int Theme_PageIndicatorDefaults = 0x7f070001;
|
||||
public static final int Widget = 0x7f070002;
|
||||
public static final int Widget_IconPageIndicator = 0x7f070003;
|
||||
public static final int Widget_TabPageIndicator = 0x7f070004;
|
||||
}
|
||||
public static final class styleable {
|
||||
public static final int[] CirclePageIndicator = { 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008 };
|
||||
public static final int CirclePageIndicator_android_background = 1;
|
||||
public static final int CirclePageIndicator_android_orientation = 0;
|
||||
public static final int CirclePageIndicator_centered = 2;
|
||||
public static final int CirclePageIndicator_fillColor = 4;
|
||||
public static final int CirclePageIndicator_pageColor = 5;
|
||||
public static final int CirclePageIndicator_radius = 6;
|
||||
public static final int CirclePageIndicator_snap = 7;
|
||||
public static final int CirclePageIndicator_strokeColor = 8;
|
||||
public static final int CirclePageIndicator_strokeWidth = 3;
|
||||
public static final int[] LinePageIndicator = { 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010009, 0x7f01000a };
|
||||
public static final int LinePageIndicator_android_background = 0;
|
||||
public static final int LinePageIndicator_centered = 1;
|
||||
public static final int LinePageIndicator_gapWidth = 6;
|
||||
public static final int LinePageIndicator_lineWidth = 5;
|
||||
public static final int LinePageIndicator_selectedColor = 2;
|
||||
public static final int LinePageIndicator_strokeWidth = 3;
|
||||
public static final int LinePageIndicator_unselectedColor = 4;
|
||||
public static final int[] TitlePageIndicator = { 0x01010095, 0x01010098, 0x010100d4, 0x7f010001, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015 };
|
||||
public static final int TitlePageIndicator_android_background = 2;
|
||||
public static final int TitlePageIndicator_android_textColor = 1;
|
||||
public static final int TitlePageIndicator_android_textSize = 0;
|
||||
public static final int TitlePageIndicator_clipPadding = 4;
|
||||
public static final int TitlePageIndicator_footerColor = 5;
|
||||
public static final int TitlePageIndicator_footerIndicatorHeight = 8;
|
||||
public static final int TitlePageIndicator_footerIndicatorStyle = 7;
|
||||
public static final int TitlePageIndicator_footerIndicatorUnderlinePadding = 9;
|
||||
public static final int TitlePageIndicator_footerLineHeight = 6;
|
||||
public static final int TitlePageIndicator_footerPadding = 10;
|
||||
public static final int TitlePageIndicator_linePosition = 11;
|
||||
public static final int TitlePageIndicator_selectedBold = 12;
|
||||
public static final int TitlePageIndicator_selectedColor = 3;
|
||||
public static final int TitlePageIndicator_titlePadding = 13;
|
||||
public static final int TitlePageIndicator_topPadding = 14;
|
||||
public static final int[] UnderlinePageIndicator = { 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017, 0x7f010018 };
|
||||
public static final int UnderlinePageIndicator_android_background = 0;
|
||||
public static final int UnderlinePageIndicator_fadeDelay = 3;
|
||||
public static final int UnderlinePageIndicator_fadeLength = 4;
|
||||
public static final int UnderlinePageIndicator_fades = 2;
|
||||
public static final int UnderlinePageIndicator_selectedColor = 1;
|
||||
public static final int[] ViewPagerIndicator = { 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e };
|
||||
public static final int ViewPagerIndicator_vpiCirclePageIndicatorStyle = 0;
|
||||
public static final int ViewPagerIndicator_vpiIconPageIndicatorStyle = 1;
|
||||
public static final int ViewPagerIndicator_vpiLinePageIndicatorStyle = 2;
|
||||
public static final int ViewPagerIndicator_vpiTabPageIndicatorStyle = 4;
|
||||
public static final int ViewPagerIndicator_vpiTitlePageIndicatorStyle = 3;
|
||||
public static final int ViewPagerIndicator_vpiUnderlinePageIndicatorStyle = 5;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.viewpagerindicator"
|
||||
android:versionCode="65"
|
||||
android:versionName="2.4.1" > <!-- <uses-sdk android:minSdkVersion="4" /> -->
|
||||
<uses-sdk
|
||||
android:minSdkVersion="14"
|
||||
android:targetSdkVersion="23" />
|
||||
|
||||
</manifest>
|
@ -0,0 +1 @@
|
||||
[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":65,"versionName":"2.4.1","enabled":true,"outputFile":"ViewPagerIndicator_library-debug.aar","fullName":"debug","baseName":"debug","dirName":""},"path":"AndroidManifest.xml","properties":{"packageId":"com.viewpagerindicator","split":""}}]
|
@ -0,0 +1 @@
|
||||
{}
|
@ -0,0 +1,946 @@
|
||||
[
|
||||
{
|
||||
"outputFile": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\incremental\\mergeDebugAndroidTestResources\\merged.dir\\values\\values.xml",
|
||||
"map": [
|
||||
{
|
||||
"to": {
|
||||
"startLine": 2,
|
||||
"startColumn": 4,
|
||||
"startOffset": 55,
|
||||
"endColumn": 44,
|
||||
"endOffset": 95
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 2,
|
||||
"startColumn": 4,
|
||||
"startOffset": 55,
|
||||
"endColumn": 44,
|
||||
"endOffset": 95
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 3,
|
||||
"startColumn": 4,
|
||||
"startOffset": 100,
|
||||
"endColumn": 47,
|
||||
"endOffset": 143
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 3,
|
||||
"startColumn": 4,
|
||||
"startOffset": 100,
|
||||
"endColumn": 47,
|
||||
"endOffset": 143
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 4,
|
||||
"startColumn": 4,
|
||||
"startOffset": 148,
|
||||
"endColumn": 49,
|
||||
"endOffset": 193
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 4,
|
||||
"startColumn": 4,
|
||||
"startOffset": 148,
|
||||
"endColumn": 49,
|
||||
"endOffset": 193
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 5,
|
||||
"startColumn": 4,
|
||||
"startOffset": 198,
|
||||
"endColumn": 49,
|
||||
"endOffset": 243
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 5,
|
||||
"startColumn": 4,
|
||||
"startOffset": 198,
|
||||
"endColumn": 49,
|
||||
"endOffset": 243
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 6,
|
||||
"startColumn": 4,
|
||||
"startOffset": 248,
|
||||
"endColumn": 62,
|
||||
"endOffset": 306
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 6,
|
||||
"startColumn": 4,
|
||||
"startOffset": 248,
|
||||
"endColumn": 62,
|
||||
"endOffset": 306
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 7,
|
||||
"startColumn": 4,
|
||||
"startOffset": 311,
|
||||
"endColumn": 59,
|
||||
"endOffset": 366
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 7,
|
||||
"startColumn": 4,
|
||||
"startOffset": 311,
|
||||
"endColumn": 59,
|
||||
"endOffset": 366
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 8,
|
||||
"startColumn": 4,
|
||||
"startOffset": 371,
|
||||
"endColumn": 60,
|
||||
"endOffset": 427
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 8,
|
||||
"startColumn": 4,
|
||||
"startOffset": 371,
|
||||
"endColumn": 60,
|
||||
"endOffset": 427
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 9,
|
||||
"startColumn": 4,
|
||||
"startOffset": 432,
|
||||
"endColumn": 66,
|
||||
"endOffset": 494
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 9,
|
||||
"startColumn": 4,
|
||||
"startOffset": 432,
|
||||
"endColumn": 66,
|
||||
"endOffset": 494
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 10,
|
||||
"startColumn": 4,
|
||||
"startOffset": 499,
|
||||
"endColumn": 62,
|
||||
"endOffset": 557
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 10,
|
||||
"startColumn": 4,
|
||||
"startOffset": 499,
|
||||
"endColumn": 62,
|
||||
"endOffset": 557
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 11,
|
||||
"startColumn": 4,
|
||||
"startOffset": 562,
|
||||
"endColumn": 71,
|
||||
"endOffset": 629
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 11,
|
||||
"startColumn": 4,
|
||||
"startOffset": 562,
|
||||
"endColumn": 71,
|
||||
"endOffset": 629
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 12,
|
||||
"startColumn": 4,
|
||||
"startOffset": 634,
|
||||
"endColumn": 71,
|
||||
"endOffset": 701
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 12,
|
||||
"startColumn": 4,
|
||||
"startOffset": 634,
|
||||
"endColumn": 71,
|
||||
"endOffset": 701
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 13,
|
||||
"startColumn": 4,
|
||||
"startOffset": 706,
|
||||
"endColumn": 73,
|
||||
"endOffset": 775
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 13,
|
||||
"startColumn": 4,
|
||||
"startOffset": 706,
|
||||
"endColumn": 73,
|
||||
"endOffset": 775
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 14,
|
||||
"startColumn": 4,
|
||||
"startOffset": 780,
|
||||
"endColumn": 73,
|
||||
"endOffset": 849
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 14,
|
||||
"startColumn": 4,
|
||||
"startOffset": 780,
|
||||
"endColumn": 73,
|
||||
"endOffset": 849
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 15,
|
||||
"startColumn": 4,
|
||||
"startOffset": 854,
|
||||
"endColumn": 75,
|
||||
"endOffset": 925
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 15,
|
||||
"startColumn": 4,
|
||||
"startOffset": 854,
|
||||
"endColumn": 75,
|
||||
"endOffset": 925
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 16,
|
||||
"startColumn": 4,
|
||||
"startOffset": 930,
|
||||
"endColumn": 72,
|
||||
"endOffset": 998
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 16,
|
||||
"startColumn": 4,
|
||||
"startOffset": 930,
|
||||
"endColumn": 72,
|
||||
"endOffset": 998
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1003,
|
||||
"endColumn": 74,
|
||||
"endOffset": 1073
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1003,
|
||||
"endColumn": 74,
|
||||
"endOffset": 1073
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 18,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1078,
|
||||
"endColumn": 70,
|
||||
"endOffset": 1144
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 18,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1078,
|
||||
"endColumn": 70,
|
||||
"endOffset": 1144
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 19,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1149,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1223
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 19,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1149,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1223
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 20,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1228,
|
||||
"endColumn": 61,
|
||||
"endOffset": 1285
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 20,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1228,
|
||||
"endColumn": 61,
|
||||
"endOffset": 1285
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 21,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1290,
|
||||
"endColumn": 62,
|
||||
"endOffset": 1348
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 21,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1290,
|
||||
"endColumn": 62,
|
||||
"endOffset": 1348
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1353,
|
||||
"endColumn": 77,
|
||||
"endOffset": 1426
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1353,
|
||||
"endColumn": 77,
|
||||
"endOffset": 1426
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 23,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1431,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1505
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 23,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1431,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1505
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1510,
|
||||
"endColumn": 92,
|
||||
"endOffset": 1598
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1510,
|
||||
"endColumn": 92,
|
||||
"endOffset": 1598
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 25,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1603,
|
||||
"endColumn": 92,
|
||||
"endOffset": 1691
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 25,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1603,
|
||||
"endColumn": 92,
|
||||
"endOffset": 1691
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 26,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1696,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1799
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 26,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1696,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1799
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 27,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1804,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1907
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 27,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1804,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1907
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 40,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4217,
|
||||
"endColumn": 61,
|
||||
"endOffset": 4274
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 40,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4217,
|
||||
"endColumn": 61,
|
||||
"endOffset": 4274
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 41,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4279,
|
||||
"endColumn": 67,
|
||||
"endOffset": 4342
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 41,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4279,
|
||||
"endColumn": 67,
|
||||
"endOffset": 4342
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 42,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4347,
|
||||
"endColumn": 62,
|
||||
"endOffset": 4405
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 42,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4347,
|
||||
"endColumn": 62,
|
||||
"endOffset": 4405
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 43,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4410,
|
||||
"endColumn": 64,
|
||||
"endOffset": 4470
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 43,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4410,
|
||||
"endColumn": 64,
|
||||
"endOffset": 4470
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 44,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4475,
|
||||
"endColumn": 65,
|
||||
"endOffset": 4536
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 44,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4475,
|
||||
"endColumn": 65,
|
||||
"endOffset": 4536
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 45,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4541,
|
||||
"endColumn": 66,
|
||||
"endOffset": 4603
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 45,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4541,
|
||||
"endColumn": 66,
|
||||
"endOffset": 4603
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 46,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4608,
|
||||
"endColumn": 77,
|
||||
"endOffset": 4681
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 46,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4608,
|
||||
"endColumn": 77,
|
||||
"endOffset": 4681
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 47,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4686,
|
||||
"endColumn": 89,
|
||||
"endOffset": 4771
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 47,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4686,
|
||||
"endColumn": 89,
|
||||
"endOffset": 4771
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 48,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4776,
|
||||
"endColumn": 72,
|
||||
"endOffset": 4844
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 48,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4776,
|
||||
"endColumn": 72,
|
||||
"endOffset": 4844
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 49,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4849,
|
||||
"endColumn": 68,
|
||||
"endOffset": 4913
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 49,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4849,
|
||||
"endColumn": 68,
|
||||
"endOffset": 4913
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 50,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4918,
|
||||
"endColumn": 64,
|
||||
"endOffset": 4978
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 50,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4918,
|
||||
"endColumn": 64,
|
||||
"endOffset": 4978
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 51,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4983,
|
||||
"endColumn": 67,
|
||||
"endOffset": 5046
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 51,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4983,
|
||||
"endColumn": 67,
|
||||
"endOffset": 5046
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 52,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5051,
|
||||
"endColumn": 65,
|
||||
"endOffset": 5112
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 52,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5051,
|
||||
"endColumn": 65,
|
||||
"endOffset": 5112
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 53,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5117,
|
||||
"endColumn": 68,
|
||||
"endOffset": 5181
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 53,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5117,
|
||||
"endColumn": 68,
|
||||
"endOffset": 5181
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 54,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5186,
|
||||
"endColumn": 78,
|
||||
"endOffset": 5260
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 54,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5186,
|
||||
"endColumn": 78,
|
||||
"endOffset": 5260
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 55,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5265,
|
||||
"endColumn": 69,
|
||||
"endOffset": 5330
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 55,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5265,
|
||||
"endColumn": 69,
|
||||
"endOffset": 5330
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 56,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5335,
|
||||
"endColumn": 72,
|
||||
"endOffset": 5403
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 56,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5335,
|
||||
"endColumn": 72,
|
||||
"endOffset": 5403
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 57,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5408,
|
||||
"endColumn": 73,
|
||||
"endOffset": 5477
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 57,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5408,
|
||||
"endColumn": 73,
|
||||
"endOffset": 5477
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 58,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5482,
|
||||
"endLine": 61,
|
||||
"endColumn": 12,
|
||||
"endOffset": 5677
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 58,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5482,
|
||||
"endLine": 61,
|
||||
"endColumn": 12,
|
||||
"endOffset": 5677
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 62,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5682,
|
||||
"endLine": 65,
|
||||
"endColumn": 12,
|
||||
"endOffset": 5930
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 62,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5682,
|
||||
"endLine": 65,
|
||||
"endColumn": 12,
|
||||
"endOffset": 5930
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 66,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5935,
|
||||
"endColumn": 26,
|
||||
"endOffset": 5957
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 66,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5935,
|
||||
"endColumn": 26,
|
||||
"endOffset": 5957
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 67,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5962,
|
||||
"endLine": 70,
|
||||
"endColumn": 12,
|
||||
"endOffset": 6147
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 67,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5962,
|
||||
"endLine": 70,
|
||||
"endColumn": 12,
|
||||
"endOffset": 6147
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 71,
|
||||
"startColumn": 4,
|
||||
"startOffset": 6152,
|
||||
"endLine": 82,
|
||||
"endColumn": 12,
|
||||
"endOffset": 6828
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
|
||||
"position": {
|
||||
"startLine": 71,
|
||||
"startColumn": 4,
|
||||
"startOffset": 6152,
|
||||
"endLine": 82,
|
||||
"endColumn": 12,
|
||||
"endOffset": 6828
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\color\\vpi__light_theme.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\color\\vpi__light_theme.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\color\\vpi__dark_theme.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\color\\vpi__dark_theme.xml"
|
||||
}
|
||||
]
|
@ -0,0 +1,34 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\tab.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\tab.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\community_tab_subscript.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\community_tab_subscript.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable\\vpi__tab_indicator.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable\\vpi__tab_indicator.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable\\vpi_text_tab_indicator.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable\\vpi_text_tab_indicator.xml"
|
||||
}
|
||||
]
|
@ -0,0 +1,946 @@
|
||||
[
|
||||
{
|
||||
"outputFile": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values\\values.xml",
|
||||
"map": [
|
||||
{
|
||||
"to": {
|
||||
"startLine": 2,
|
||||
"startColumn": 4,
|
||||
"startOffset": 55,
|
||||
"endColumn": 44,
|
||||
"endOffset": 95
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
|
||||
"position": {
|
||||
"startLine": 33,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1498,
|
||||
"endColumn": 45,
|
||||
"endOffset": 1539
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 3,
|
||||
"startColumn": 4,
|
||||
"startOffset": 100,
|
||||
"endColumn": 47,
|
||||
"endOffset": 143
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
|
||||
"position": {
|
||||
"startLine": 34,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1544,
|
||||
"endColumn": 48,
|
||||
"endOffset": 1588
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 4,
|
||||
"startColumn": 4,
|
||||
"startOffset": 148,
|
||||
"endColumn": 49,
|
||||
"endOffset": 193
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
|
||||
"position": {
|
||||
"startLine": 35,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1593,
|
||||
"endColumn": 50,
|
||||
"endOffset": 1639
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 5,
|
||||
"startColumn": 4,
|
||||
"startOffset": 198,
|
||||
"endColumn": 49,
|
||||
"endOffset": 243
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
|
||||
"position": {
|
||||
"startLine": 36,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1644,
|
||||
"endColumn": 50,
|
||||
"endOffset": 1690
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 6,
|
||||
"startColumn": 4,
|
||||
"startOffset": 248,
|
||||
"endColumn": 62,
|
||||
"endOffset": 306
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 668,
|
||||
"endColumn": 62,
|
||||
"endOffset": 726
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 7,
|
||||
"startColumn": 4,
|
||||
"startOffset": 311,
|
||||
"endColumn": 59,
|
||||
"endOffset": 366
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1006,
|
||||
"endColumn": 59,
|
||||
"endOffset": 1061
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 8,
|
||||
"startColumn": 4,
|
||||
"startOffset": 371,
|
||||
"endColumn": 60,
|
||||
"endOffset": 427
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 31,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1553,
|
||||
"endColumn": 60,
|
||||
"endOffset": 1609
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 9,
|
||||
"startColumn": 4,
|
||||
"startOffset": 432,
|
||||
"endColumn": 66,
|
||||
"endOffset": 494
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 42,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2289,
|
||||
"endColumn": 66,
|
||||
"endOffset": 2351
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 10,
|
||||
"startColumn": 4,
|
||||
"startOffset": 499,
|
||||
"endColumn": 62,
|
||||
"endOffset": 557
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 48,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2627,
|
||||
"endColumn": 62,
|
||||
"endOffset": 2685
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 11,
|
||||
"startColumn": 4,
|
||||
"startOffset": 562,
|
||||
"endColumn": 71,
|
||||
"endOffset": 629
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 18,
|
||||
"startColumn": 4,
|
||||
"startOffset": 731,
|
||||
"endColumn": 71,
|
||||
"endOffset": 798
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 12,
|
||||
"startColumn": 4,
|
||||
"startOffset": 634,
|
||||
"endColumn": 71,
|
||||
"endOffset": 701
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 19,
|
||||
"startColumn": 4,
|
||||
"startOffset": 803,
|
||||
"endColumn": 71,
|
||||
"endOffset": 870
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 13,
|
||||
"startColumn": 4,
|
||||
"startOffset": 706,
|
||||
"endColumn": 73,
|
||||
"endOffset": 775
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 23,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1066,
|
||||
"endColumn": 73,
|
||||
"endOffset": 1135
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 14,
|
||||
"startColumn": 4,
|
||||
"startOffset": 780,
|
||||
"endColumn": 73,
|
||||
"endOffset": 849
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 29,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1403,
|
||||
"endColumn": 73,
|
||||
"endOffset": 1472
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 15,
|
||||
"startColumn": 4,
|
||||
"startOffset": 854,
|
||||
"endColumn": 75,
|
||||
"endOffset": 925
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 30,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1477,
|
||||
"endColumn": 75,
|
||||
"endOffset": 1548
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 16,
|
||||
"startColumn": 4,
|
||||
"startOffset": 930,
|
||||
"endColumn": 72,
|
||||
"endOffset": 998
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 34,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1682,
|
||||
"endColumn": 72,
|
||||
"endOffset": 1750
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1003,
|
||||
"endColumn": 74,
|
||||
"endOffset": 1073
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 41,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2214,
|
||||
"endColumn": 74,
|
||||
"endOffset": 2284
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 18,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1078,
|
||||
"endColumn": 70,
|
||||
"endOffset": 1144
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 43,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2356,
|
||||
"endColumn": 70,
|
||||
"endOffset": 2422
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 19,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1149,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1223
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 51,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2837,
|
||||
"endColumn": 78,
|
||||
"endOffset": 2911
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 20,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1228,
|
||||
"endColumn": 61,
|
||||
"endOffset": 1285
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 668,
|
||||
"endColumn": 61,
|
||||
"endOffset": 725
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 21,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1290,
|
||||
"endColumn": 62,
|
||||
"endOffset": 1348
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 18,
|
||||
"startColumn": 4,
|
||||
"startOffset": 730,
|
||||
"endColumn": 62,
|
||||
"endOffset": 788
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1353,
|
||||
"endColumn": 77,
|
||||
"endOffset": 1426
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 21,
|
||||
"startColumn": 4,
|
||||
"startOffset": 979,
|
||||
"endColumn": 77,
|
||||
"endOffset": 1052
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 23,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1431,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1505
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1057,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1131
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1510,
|
||||
"endColumn": 92,
|
||||
"endOffset": 1598
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 19,
|
||||
"startColumn": 4,
|
||||
"startOffset": 793,
|
||||
"endColumn": 92,
|
||||
"endOffset": 881
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 25,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1603,
|
||||
"endColumn": 92,
|
||||
"endOffset": 1691
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 20,
|
||||
"startColumn": 4,
|
||||
"startOffset": 886,
|
||||
"endColumn": 92,
|
||||
"endOffset": 974
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 26,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1696,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1799
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 23,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1136,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1239
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 27,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1804,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1907
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1244,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1347
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 40,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4217,
|
||||
"endColumn": 61,
|
||||
"endOffset": 4274
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 21,
|
||||
"startColumn": 4,
|
||||
"startOffset": 944,
|
||||
"endColumn": 61,
|
||||
"endOffset": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 41,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4279,
|
||||
"endColumn": 67,
|
||||
"endOffset": 4342
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1140,
|
||||
"endColumn": 67,
|
||||
"endOffset": 1203
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 42,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4347,
|
||||
"endColumn": 62,
|
||||
"endOffset": 4405
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 27,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1274,
|
||||
"endColumn": 62,
|
||||
"endOffset": 1332
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 43,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4410,
|
||||
"endColumn": 64,
|
||||
"endOffset": 4470
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 26,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1209,
|
||||
"endColumn": 64,
|
||||
"endOffset": 1269
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 44,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4475,
|
||||
"endColumn": 65,
|
||||
"endOffset": 4536
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 28,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1337,
|
||||
"endColumn": 65,
|
||||
"endOffset": 1398
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 45,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4541,
|
||||
"endColumn": 66,
|
||||
"endOffset": 4603
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 33,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1615,
|
||||
"endColumn": 66,
|
||||
"endOffset": 1677
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 46,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4608,
|
||||
"endColumn": 77,
|
||||
"endOffset": 4681
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 37,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1907,
|
||||
"endColumn": 77,
|
||||
"endOffset": 1980
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 47,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4686,
|
||||
"endColumn": 89,
|
||||
"endOffset": 4771
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 38,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1985,
|
||||
"endColumn": 89,
|
||||
"endOffset": 2070
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 48,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4776,
|
||||
"endColumn": 72,
|
||||
"endOffset": 4844
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 35,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1755,
|
||||
"endColumn": 72,
|
||||
"endOffset": 1823
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 49,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4849,
|
||||
"endColumn": 68,
|
||||
"endOffset": 4913
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 39,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2075,
|
||||
"endColumn": 68,
|
||||
"endOffset": 2139
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 50,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4918,
|
||||
"endColumn": 64,
|
||||
"endOffset": 4978
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 44,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2427,
|
||||
"endColumn": 64,
|
||||
"endOffset": 2487
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 51,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4983,
|
||||
"endColumn": 67,
|
||||
"endOffset": 5046
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 45,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2492,
|
||||
"endColumn": 67,
|
||||
"endOffset": 2555
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 52,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5051,
|
||||
"endColumn": 65,
|
||||
"endOffset": 5112
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 46,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2560,
|
||||
"endColumn": 65,
|
||||
"endOffset": 2621
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 53,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5117,
|
||||
"endColumn": 68,
|
||||
"endOffset": 5181
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 20,
|
||||
"startColumn": 4,
|
||||
"startOffset": 875,
|
||||
"endColumn": 68,
|
||||
"endOffset": 939
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 54,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5186,
|
||||
"endColumn": 78,
|
||||
"endOffset": 5260
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 36,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1828,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1902
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 55,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5265,
|
||||
"endColumn": 69,
|
||||
"endOffset": 5330
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 40,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2144,
|
||||
"endColumn": 69,
|
||||
"endOffset": 2209
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 56,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5335,
|
||||
"endColumn": 72,
|
||||
"endOffset": 5403
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 49,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2690,
|
||||
"endColumn": 72,
|
||||
"endOffset": 2758
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 57,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5408,
|
||||
"endColumn": 73,
|
||||
"endOffset": 5477
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 50,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2763,
|
||||
"endColumn": 73,
|
||||
"endOffset": 2832
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 58,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5482,
|
||||
"endLine": 61,
|
||||
"endColumn": 12,
|
||||
"endOffset": 5677
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 37,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1639,
|
||||
"endLine": 40,
|
||||
"endColumn": 12,
|
||||
"endOffset": 1834
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 62,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5682,
|
||||
"endLine": 65,
|
||||
"endColumn": 12,
|
||||
"endOffset": 5930
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 668,
|
||||
"endLine": 20,
|
||||
"endColumn": 12,
|
||||
"endOffset": 916
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 66,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5935,
|
||||
"endColumn": 26,
|
||||
"endOffset": 5957
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 922,
|
||||
"endColumn": 33,
|
||||
"endOffset": 951
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 67,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5962,
|
||||
"endLine": 70,
|
||||
"endColumn": 12,
|
||||
"endOffset": 6147
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 42,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1840,
|
||||
"endLine": 45,
|
||||
"endColumn": 12,
|
||||
"endOffset": 2025
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 71,
|
||||
"startColumn": 4,
|
||||
"startOffset": 6152,
|
||||
"endLine": 82,
|
||||
"endColumn": 12,
|
||||
"endOffset": 6828
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 957,
|
||||
"endLine": 35,
|
||||
"endColumn": 12,
|
||||
"endOffset": 1633
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\color\\vpi__light_theme.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__light_theme.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\color\\vpi__dark_theme.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__dark_theme.xml"
|
||||
}
|
||||
]
|
@ -0,0 +1,34 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\community_tab_subscript.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\community_tab_subscript.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\tab.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\tab.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_holo.9.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_holo.9.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable\\vpi_text_tab_indicator.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi_text_tab_indicator.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable\\vpi__tab_indicator.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi__tab_indicator.xml"
|
||||
}
|
||||
]
|
@ -0,0 +1,946 @@
|
||||
[
|
||||
{
|
||||
"outputFile": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\incremental\\mergeReleaseResources\\merged.dir\\values\\values.xml",
|
||||
"map": [
|
||||
{
|
||||
"to": {
|
||||
"startLine": 2,
|
||||
"startColumn": 4,
|
||||
"startOffset": 55,
|
||||
"endColumn": 44,
|
||||
"endOffset": 95
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
|
||||
"position": {
|
||||
"startLine": 33,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1498,
|
||||
"endColumn": 45,
|
||||
"endOffset": 1539
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 3,
|
||||
"startColumn": 4,
|
||||
"startOffset": 100,
|
||||
"endColumn": 47,
|
||||
"endOffset": 143
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
|
||||
"position": {
|
||||
"startLine": 34,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1544,
|
||||
"endColumn": 48,
|
||||
"endOffset": 1588
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 4,
|
||||
"startColumn": 4,
|
||||
"startOffset": 148,
|
||||
"endColumn": 49,
|
||||
"endOffset": 193
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
|
||||
"position": {
|
||||
"startLine": 35,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1593,
|
||||
"endColumn": 50,
|
||||
"endOffset": 1639
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 5,
|
||||
"startColumn": 4,
|
||||
"startOffset": 198,
|
||||
"endColumn": 49,
|
||||
"endOffset": 243
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
|
||||
"position": {
|
||||
"startLine": 36,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1644,
|
||||
"endColumn": 50,
|
||||
"endOffset": 1690
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 6,
|
||||
"startColumn": 4,
|
||||
"startOffset": 248,
|
||||
"endColumn": 62,
|
||||
"endOffset": 306
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 668,
|
||||
"endColumn": 62,
|
||||
"endOffset": 726
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 7,
|
||||
"startColumn": 4,
|
||||
"startOffset": 311,
|
||||
"endColumn": 59,
|
||||
"endOffset": 366
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1006,
|
||||
"endColumn": 59,
|
||||
"endOffset": 1061
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 8,
|
||||
"startColumn": 4,
|
||||
"startOffset": 371,
|
||||
"endColumn": 60,
|
||||
"endOffset": 427
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 31,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1553,
|
||||
"endColumn": 60,
|
||||
"endOffset": 1609
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 9,
|
||||
"startColumn": 4,
|
||||
"startOffset": 432,
|
||||
"endColumn": 66,
|
||||
"endOffset": 494
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 42,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2289,
|
||||
"endColumn": 66,
|
||||
"endOffset": 2351
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 10,
|
||||
"startColumn": 4,
|
||||
"startOffset": 499,
|
||||
"endColumn": 62,
|
||||
"endOffset": 557
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 48,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2627,
|
||||
"endColumn": 62,
|
||||
"endOffset": 2685
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 11,
|
||||
"startColumn": 4,
|
||||
"startOffset": 562,
|
||||
"endColumn": 71,
|
||||
"endOffset": 629
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 18,
|
||||
"startColumn": 4,
|
||||
"startOffset": 731,
|
||||
"endColumn": 71,
|
||||
"endOffset": 798
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 12,
|
||||
"startColumn": 4,
|
||||
"startOffset": 634,
|
||||
"endColumn": 71,
|
||||
"endOffset": 701
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 19,
|
||||
"startColumn": 4,
|
||||
"startOffset": 803,
|
||||
"endColumn": 71,
|
||||
"endOffset": 870
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 13,
|
||||
"startColumn": 4,
|
||||
"startOffset": 706,
|
||||
"endColumn": 73,
|
||||
"endOffset": 775
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 23,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1066,
|
||||
"endColumn": 73,
|
||||
"endOffset": 1135
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 14,
|
||||
"startColumn": 4,
|
||||
"startOffset": 780,
|
||||
"endColumn": 73,
|
||||
"endOffset": 849
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 29,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1403,
|
||||
"endColumn": 73,
|
||||
"endOffset": 1472
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 15,
|
||||
"startColumn": 4,
|
||||
"startOffset": 854,
|
||||
"endColumn": 75,
|
||||
"endOffset": 925
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 30,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1477,
|
||||
"endColumn": 75,
|
||||
"endOffset": 1548
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 16,
|
||||
"startColumn": 4,
|
||||
"startOffset": 930,
|
||||
"endColumn": 72,
|
||||
"endOffset": 998
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 34,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1682,
|
||||
"endColumn": 72,
|
||||
"endOffset": 1750
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1003,
|
||||
"endColumn": 74,
|
||||
"endOffset": 1073
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 41,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2214,
|
||||
"endColumn": 74,
|
||||
"endOffset": 2284
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 18,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1078,
|
||||
"endColumn": 70,
|
||||
"endOffset": 1144
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 43,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2356,
|
||||
"endColumn": 70,
|
||||
"endOffset": 2422
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 19,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1149,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1223
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 51,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2837,
|
||||
"endColumn": 78,
|
||||
"endOffset": 2911
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 20,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1228,
|
||||
"endColumn": 61,
|
||||
"endOffset": 1285
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 668,
|
||||
"endColumn": 61,
|
||||
"endOffset": 725
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 21,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1290,
|
||||
"endColumn": 62,
|
||||
"endOffset": 1348
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 18,
|
||||
"startColumn": 4,
|
||||
"startOffset": 730,
|
||||
"endColumn": 62,
|
||||
"endOffset": 788
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1353,
|
||||
"endColumn": 77,
|
||||
"endOffset": 1426
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 21,
|
||||
"startColumn": 4,
|
||||
"startOffset": 979,
|
||||
"endColumn": 77,
|
||||
"endOffset": 1052
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 23,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1431,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1505
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1057,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1131
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1510,
|
||||
"endColumn": 92,
|
||||
"endOffset": 1598
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 19,
|
||||
"startColumn": 4,
|
||||
"startOffset": 793,
|
||||
"endColumn": 92,
|
||||
"endOffset": 881
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 25,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1603,
|
||||
"endColumn": 92,
|
||||
"endOffset": 1691
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 20,
|
||||
"startColumn": 4,
|
||||
"startOffset": 886,
|
||||
"endColumn": 92,
|
||||
"endOffset": 974
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 26,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1696,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1799
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 23,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1136,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1239
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 27,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1804,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1907
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
|
||||
"position": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1244,
|
||||
"endColumn": 107,
|
||||
"endOffset": 1347
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 40,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4217,
|
||||
"endColumn": 61,
|
||||
"endOffset": 4274
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 21,
|
||||
"startColumn": 4,
|
||||
"startOffset": 944,
|
||||
"endColumn": 61,
|
||||
"endOffset": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 41,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4279,
|
||||
"endColumn": 67,
|
||||
"endOffset": 4342
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1140,
|
||||
"endColumn": 67,
|
||||
"endOffset": 1203
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 42,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4347,
|
||||
"endColumn": 62,
|
||||
"endOffset": 4405
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 27,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1274,
|
||||
"endColumn": 62,
|
||||
"endOffset": 1332
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 43,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4410,
|
||||
"endColumn": 64,
|
||||
"endOffset": 4470
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 26,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1209,
|
||||
"endColumn": 64,
|
||||
"endOffset": 1269
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 44,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4475,
|
||||
"endColumn": 65,
|
||||
"endOffset": 4536
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 28,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1337,
|
||||
"endColumn": 65,
|
||||
"endOffset": 1398
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 45,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4541,
|
||||
"endColumn": 66,
|
||||
"endOffset": 4603
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 33,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1615,
|
||||
"endColumn": 66,
|
||||
"endOffset": 1677
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 46,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4608,
|
||||
"endColumn": 77,
|
||||
"endOffset": 4681
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 37,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1907,
|
||||
"endColumn": 77,
|
||||
"endOffset": 1980
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 47,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4686,
|
||||
"endColumn": 89,
|
||||
"endOffset": 4771
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 38,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1985,
|
||||
"endColumn": 89,
|
||||
"endOffset": 2070
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 48,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4776,
|
||||
"endColumn": 72,
|
||||
"endOffset": 4844
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 35,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1755,
|
||||
"endColumn": 72,
|
||||
"endOffset": 1823
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 49,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4849,
|
||||
"endColumn": 68,
|
||||
"endOffset": 4913
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 39,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2075,
|
||||
"endColumn": 68,
|
||||
"endOffset": 2139
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 50,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4918,
|
||||
"endColumn": 64,
|
||||
"endOffset": 4978
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 44,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2427,
|
||||
"endColumn": 64,
|
||||
"endOffset": 2487
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 51,
|
||||
"startColumn": 4,
|
||||
"startOffset": 4983,
|
||||
"endColumn": 67,
|
||||
"endOffset": 5046
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 45,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2492,
|
||||
"endColumn": 67,
|
||||
"endOffset": 2555
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 52,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5051,
|
||||
"endColumn": 65,
|
||||
"endOffset": 5112
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 46,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2560,
|
||||
"endColumn": 65,
|
||||
"endOffset": 2621
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 53,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5117,
|
||||
"endColumn": 68,
|
||||
"endOffset": 5181
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 20,
|
||||
"startColumn": 4,
|
||||
"startOffset": 875,
|
||||
"endColumn": 68,
|
||||
"endOffset": 939
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 54,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5186,
|
||||
"endColumn": 78,
|
||||
"endOffset": 5260
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 36,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1828,
|
||||
"endColumn": 78,
|
||||
"endOffset": 1902
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 55,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5265,
|
||||
"endColumn": 69,
|
||||
"endOffset": 5330
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 40,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2144,
|
||||
"endColumn": 69,
|
||||
"endOffset": 2209
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 56,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5335,
|
||||
"endColumn": 72,
|
||||
"endOffset": 5403
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 49,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2690,
|
||||
"endColumn": 72,
|
||||
"endOffset": 2758
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 57,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5408,
|
||||
"endColumn": 73,
|
||||
"endOffset": 5477
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
|
||||
"position": {
|
||||
"startLine": 50,
|
||||
"startColumn": 4,
|
||||
"startOffset": 2763,
|
||||
"endColumn": 73,
|
||||
"endOffset": 2832
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 58,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5482,
|
||||
"endLine": 61,
|
||||
"endColumn": 12,
|
||||
"endOffset": 5677
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 37,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1639,
|
||||
"endLine": 40,
|
||||
"endColumn": 12,
|
||||
"endOffset": 1834
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 62,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5682,
|
||||
"endLine": 65,
|
||||
"endColumn": 12,
|
||||
"endOffset": 5930
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 17,
|
||||
"startColumn": 4,
|
||||
"startOffset": 668,
|
||||
"endLine": 20,
|
||||
"endColumn": 12,
|
||||
"endOffset": 916
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 66,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5935,
|
||||
"endColumn": 26,
|
||||
"endOffset": 5957
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 22,
|
||||
"startColumn": 4,
|
||||
"startOffset": 922,
|
||||
"endColumn": 33,
|
||||
"endOffset": 951
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 67,
|
||||
"startColumn": 4,
|
||||
"startOffset": 5962,
|
||||
"endLine": 70,
|
||||
"endColumn": 12,
|
||||
"endOffset": 6147
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 42,
|
||||
"startColumn": 4,
|
||||
"startOffset": 1840,
|
||||
"endLine": 45,
|
||||
"endColumn": 12,
|
||||
"endOffset": 2025
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"to": {
|
||||
"startLine": 71,
|
||||
"startColumn": 4,
|
||||
"startOffset": 6152,
|
||||
"endLine": 82,
|
||||
"endColumn": 12,
|
||||
"endOffset": 6828
|
||||
},
|
||||
"from": {
|
||||
"file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
|
||||
"position": {
|
||||
"startLine": 24,
|
||||
"startColumn": 4,
|
||||
"startOffset": 957,
|
||||
"endLine": 35,
|
||||
"endColumn": 12,
|
||||
"endOffset": 1633
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\color\\vpi__dark_theme.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__dark_theme.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\color\\vpi__light_theme.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__light_theme.xml"
|
||||
}
|
||||
]
|
@ -0,0 +1,34 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\community_tab_subscript.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\community_tab_subscript.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\tab.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\tab.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_focused_holo.9.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_focused_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_pressed_holo.9.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_holo.9.png"
|
||||
}
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable\\vpi__tab_indicator.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi__tab_indicator.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable\\vpi_text_tab_indicator.xml",
|
||||
"source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi_text_tab_indicator.xml"
|
||||
}
|
||||
]
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.viewpagerindicator"
|
||||
android:versionCode="65"
|
||||
android:versionName="2.4.1" > <!-- <uses-sdk android:minSdkVersion="4" /> -->
|
||||
<uses-sdk
|
||||
android:minSdkVersion="14"
|
||||
android:targetSdkVersion="23" />
|
||||
|
||||
</manifest>
|
@ -0,0 +1,140 @@
|
||||
int attr centered 0x7f010000
|
||||
int attr clipPadding 0x7f01000b
|
||||
int attr fadeDelay 0x7f010017
|
||||
int attr fadeLength 0x7f010018
|
||||
int attr fades 0x7f010016
|
||||
int attr fillColor 0x7f010004
|
||||
int attr footerColor 0x7f01000c
|
||||
int attr footerIndicatorHeight 0x7f01000f
|
||||
int attr footerIndicatorStyle 0x7f01000e
|
||||
int attr footerIndicatorUnderlinePadding 0x7f010010
|
||||
int attr footerLineHeight 0x7f01000d
|
||||
int attr footerPadding 0x7f010011
|
||||
int attr gapWidth 0x7f01000a
|
||||
int attr linePosition 0x7f010012
|
||||
int attr lineWidth 0x7f010009
|
||||
int attr pageColor 0x7f010005
|
||||
int attr radius 0x7f010006
|
||||
int attr selectedBold 0x7f010013
|
||||
int attr selectedColor 0x7f010001
|
||||
int attr snap 0x7f010007
|
||||
int attr strokeColor 0x7f010008
|
||||
int attr strokeWidth 0x7f010002
|
||||
int attr titlePadding 0x7f010014
|
||||
int attr topPadding 0x7f010015
|
||||
int attr unselectedColor 0x7f010003
|
||||
int attr vpiCirclePageIndicatorStyle 0x7f010019
|
||||
int attr vpiIconPageIndicatorStyle 0x7f01001a
|
||||
int attr vpiLinePageIndicatorStyle 0x7f01001b
|
||||
int attr vpiTabPageIndicatorStyle 0x7f01001d
|
||||
int attr vpiTitlePageIndicatorStyle 0x7f01001c
|
||||
int attr vpiUnderlinePageIndicatorStyle 0x7f01001e
|
||||
int bool default_circle_indicator_centered 0x7f030000
|
||||
int bool default_circle_indicator_snap 0x7f030001
|
||||
int bool default_line_indicator_centered 0x7f030002
|
||||
int bool default_title_indicator_selected_bold 0x7f030003
|
||||
int bool default_underline_indicator_fades 0x7f030004
|
||||
int color default_circle_indicator_fill_color 0x7f040000
|
||||
int color default_circle_indicator_page_color 0x7f040001
|
||||
int color default_circle_indicator_stroke_color 0x7f040002
|
||||
int color default_line_indicator_selected_color 0x7f040003
|
||||
int color default_line_indicator_unselected_color 0x7f040004
|
||||
int color default_title_indicator_footer_color 0x7f040005
|
||||
int color default_title_indicator_selected_color 0x7f040006
|
||||
int color default_title_indicator_text_color 0x7f040007
|
||||
int color default_underline_indicator_selected_color 0x7f040008
|
||||
int color vpi__background_holo_dark 0x7f040009
|
||||
int color vpi__background_holo_light 0x7f04000a
|
||||
int color vpi__bright_foreground_disabled_holo_dark 0x7f04000b
|
||||
int color vpi__bright_foreground_disabled_holo_light 0x7f04000c
|
||||
int color vpi__bright_foreground_holo_dark 0x7f04000d
|
||||
int color vpi__bright_foreground_holo_light 0x7f04000e
|
||||
int color vpi__bright_foreground_inverse_holo_dark 0x7f04000f
|
||||
int color vpi__bright_foreground_inverse_holo_light 0x7f040010
|
||||
int color vpi__dark_theme 0x7f040011
|
||||
int color vpi__light_theme 0x7f040012
|
||||
int dimen default_circle_indicator_radius 0x7f050000
|
||||
int dimen default_circle_indicator_stroke_width 0x7f050001
|
||||
int dimen default_line_indicator_gap_width 0x7f050002
|
||||
int dimen default_line_indicator_line_width 0x7f050003
|
||||
int dimen default_line_indicator_stroke_width 0x7f050004
|
||||
int dimen default_title_indicator_clip_padding 0x7f050005
|
||||
int dimen default_title_indicator_footer_indicator_height 0x7f050006
|
||||
int dimen default_title_indicator_footer_indicator_underline_padding 0x7f050007
|
||||
int dimen default_title_indicator_footer_line_height 0x7f050008
|
||||
int dimen default_title_indicator_footer_padding 0x7f050009
|
||||
int dimen default_title_indicator_text_size 0x7f05000a
|
||||
int dimen default_title_indicator_title_padding 0x7f05000b
|
||||
int dimen default_title_indicator_top_padding 0x7f05000c
|
||||
int drawable community_tab_subscript 0x7f020000
|
||||
int drawable tab 0x7f020001
|
||||
int drawable vpi__tab_indicator 0x7f020002
|
||||
int drawable vpi__tab_selected_focused_holo 0x7f020003
|
||||
int drawable vpi__tab_selected_holo 0x7f020004
|
||||
int drawable vpi__tab_selected_pressed_holo 0x7f020005
|
||||
int drawable vpi__tab_unselected_focused_holo 0x7f020006
|
||||
int drawable vpi__tab_unselected_holo 0x7f020007
|
||||
int drawable vpi__tab_unselected_pressed_holo 0x7f020008
|
||||
int drawable vpi_text_tab_indicator 0x7f020009
|
||||
int id bottom 0x7f080003
|
||||
int id none 0x7f080000
|
||||
int id top 0x7f080004
|
||||
int id triangle 0x7f080001
|
||||
int id underline 0x7f080002
|
||||
int integer default_circle_indicator_orientation 0x7f060000
|
||||
int integer default_title_indicator_footer_indicator_style 0x7f060001
|
||||
int integer default_title_indicator_line_position 0x7f060002
|
||||
int integer default_underline_indicator_fade_delay 0x7f060003
|
||||
int integer default_underline_indicator_fade_length 0x7f060004
|
||||
int style TextAppearance_TabPageIndicator 0x7f070000
|
||||
int style Theme_PageIndicatorDefaults 0x7f070001
|
||||
int style Widget 0x7f070002
|
||||
int style Widget_IconPageIndicator 0x7f070003
|
||||
int style Widget_TabPageIndicator 0x7f070004
|
||||
int[] styleable CirclePageIndicator { 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008 }
|
||||
int styleable CirclePageIndicator_android_background 1
|
||||
int styleable CirclePageIndicator_android_orientation 0
|
||||
int styleable CirclePageIndicator_centered 2
|
||||
int styleable CirclePageIndicator_fillColor 4
|
||||
int styleable CirclePageIndicator_pageColor 5
|
||||
int styleable CirclePageIndicator_radius 6
|
||||
int styleable CirclePageIndicator_snap 7
|
||||
int styleable CirclePageIndicator_strokeColor 8
|
||||
int styleable CirclePageIndicator_strokeWidth 3
|
||||
int[] styleable LinePageIndicator { 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010009, 0x7f01000a }
|
||||
int styleable LinePageIndicator_android_background 0
|
||||
int styleable LinePageIndicator_centered 1
|
||||
int styleable LinePageIndicator_gapWidth 6
|
||||
int styleable LinePageIndicator_lineWidth 5
|
||||
int styleable LinePageIndicator_selectedColor 2
|
||||
int styleable LinePageIndicator_strokeWidth 3
|
||||
int styleable LinePageIndicator_unselectedColor 4
|
||||
int[] styleable TitlePageIndicator { 0x01010095, 0x01010098, 0x010100d4, 0x7f010001, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015 }
|
||||
int styleable TitlePageIndicator_android_background 2
|
||||
int styleable TitlePageIndicator_android_textColor 1
|
||||
int styleable TitlePageIndicator_android_textSize 0
|
||||
int styleable TitlePageIndicator_clipPadding 4
|
||||
int styleable TitlePageIndicator_footerColor 5
|
||||
int styleable TitlePageIndicator_footerIndicatorHeight 8
|
||||
int styleable TitlePageIndicator_footerIndicatorStyle 7
|
||||
int styleable TitlePageIndicator_footerIndicatorUnderlinePadding 9
|
||||
int styleable TitlePageIndicator_footerLineHeight 6
|
||||
int styleable TitlePageIndicator_footerPadding 10
|
||||
int styleable TitlePageIndicator_linePosition 11
|
||||
int styleable TitlePageIndicator_selectedBold 12
|
||||
int styleable TitlePageIndicator_selectedColor 3
|
||||
int styleable TitlePageIndicator_titlePadding 13
|
||||
int styleable TitlePageIndicator_topPadding 14
|
||||
int[] styleable UnderlinePageIndicator { 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017, 0x7f010018 }
|
||||
int styleable UnderlinePageIndicator_android_background 0
|
||||
int styleable UnderlinePageIndicator_fadeDelay 3
|
||||
int styleable UnderlinePageIndicator_fadeLength 4
|
||||
int styleable UnderlinePageIndicator_fades 2
|
||||
int styleable UnderlinePageIndicator_selectedColor 1
|
||||
int[] styleable ViewPagerIndicator { 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e }
|
||||
int styleable ViewPagerIndicator_vpiCirclePageIndicatorStyle 0
|
||||
int styleable ViewPagerIndicator_vpiIconPageIndicatorStyle 1
|
||||
int styleable ViewPagerIndicator_vpiLinePageIndicatorStyle 2
|
||||
int styleable ViewPagerIndicator_vpiTabPageIndicatorStyle 4
|
||||
int styleable ViewPagerIndicator_vpiTitlePageIndicatorStyle 3
|
||||
int styleable ViewPagerIndicator_vpiUnderlinePageIndicatorStyle 5
|
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2010 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/vpi__bright_foreground_disabled_holo_dark"/>
|
||||
<item android:state_window_focused="false" android:color="@color/vpi__bright_foreground_holo_dark"/>
|
||||
<item android:state_pressed="true" android:color="@color/vpi__bright_foreground_holo_dark"/>
|
||||
<item android:state_selected="true" android:color="@color/vpi__bright_foreground_holo_dark"/>
|
||||
<!--item android:state_activated="true" android:color="@color/vpi__bright_foreground_holo_dark"/-->
|
||||
<item android:color="@color/vpi__bright_foreground_holo_dark"/> <!-- not selected -->
|
||||
</selector>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2010 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/vpi__bright_foreground_disabled_holo_light"/>
|
||||
<item android:state_window_focused="false" android:color="@color/vpi__bright_foreground_holo_light"/>
|
||||
<item android:state_pressed="true" android:color="@color/vpi__bright_foreground_holo_light"/>
|
||||
<item android:state_selected="true" android:color="@color/vpi__bright_foreground_holo_light"/>
|
||||
<!--item android:state_activated="true" android:color="@color/vpi__bright_foreground_holo_light"/-->
|
||||
<item android:color="@color/vpi__bright_foreground_holo_light"/> <!-- not selected -->
|
||||
|
||||
</selector>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 148 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 146 B |
After Width: | Height: | Size: 153 B |
After Width: | Height: | Size: 145 B |
After Width: | Height: | Size: 148 B |
After Width: | Height: | Size: 151 B |
After Width: | Height: | Size: 150 B |
After Width: | Height: | Size: 150 B |
After Width: | Height: | Size: 157 B |
After Width: | Height: | Size: 155 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 153 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 148 B |
After Width: | Height: | Size: 166 B |
After Width: | Height: | Size: 149 B |
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2008 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Non focused states -->
|
||||
<item android:drawable="@android:color/transparent" android:state_focused="false" android:state_pressed="false" android:state_selected="false" />
|
||||
<item android:drawable="@drawable/tab" android:state_focused="false" android:state_pressed="false" android:state_selected="true" />
|
||||
|
||||
<!-- Focused states -->
|
||||
<item android:drawable="@android:color/transparent" android:state_focused="true" android:state_pressed="false" android:state_selected="false" />
|
||||
<item android:drawable="@drawable/tab" android:state_focused="true" android:state_pressed="false" android:state_selected="true" />
|
||||
|
||||
<!-- Pressed -->
|
||||
<!-- Non focused states -->
|
||||
<item android:drawable="@android:color/transparent" android:state_focused="false" android:state_pressed="true" android:state_selected="false" />
|
||||
<item android:drawable="@drawable/tab" android:state_focused="false" android:state_pressed="true" android:state_selected="true" />
|
||||
|
||||
<!-- Focused states -->
|
||||
<item android:drawable="@android:color/transparent" android:state_focused="true" android:state_pressed="true" android:state_selected="false" />
|
||||
<item android:drawable="@drawable/tab" android:state_focused="true" android:state_pressed="true" android:state_selected="true" />
|
||||
</selector>
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2008 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Non focused states -->
|
||||
<item android:color="#4d4d4d" android:state_focused="false" android:state_pressed="false" android:state_selected="false" />
|
||||
<item android:color="#ff4040" android:state_focused="false" android:state_pressed="false" android:state_selected="true" />
|
||||
|
||||
<!-- Focused states -->
|
||||
<item android:color="#4d4d4d" android:state_focused="true" android:state_pressed="false" android:state_selected="false" />
|
||||
<item android:color="#ff4040" android:state_focused="true" android:state_pressed="false" android:state_selected="true" />
|
||||
|
||||
<!-- Pressed -->
|
||||
<!-- Non focused states -->
|
||||
<item android:color="#4d4d4d" android:state_focused="false" android:state_pressed="true" android:state_selected="false" />
|
||||
<item android:color="#ff4040" android:state_focused="false" android:state_pressed="true" android:state_selected="true" />
|
||||
|
||||
<!-- Focused states -->
|
||||
<item android:color="#4d4d4d" android:state_focused="true" android:state_pressed="true" android:state_selected="false" />
|
||||
<item android:color="#ff4040" android:state_focused="true" android:state_pressed="true" android:state_selected="true" />
|
||||
</selector>
|
@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<attr format="boolean" name="centered"/>
|
||||
<attr format="color" name="selectedColor"/>
|
||||
<attr format="dimension" name="strokeWidth"/>
|
||||
<attr format="color" name="unselectedColor"/>
|
||||
<bool name="default_circle_indicator_centered">true</bool>
|
||||
<bool name="default_circle_indicator_snap">false</bool>
|
||||
<bool name="default_line_indicator_centered">true</bool>
|
||||
<bool name="default_title_indicator_selected_bold">true</bool>
|
||||
<bool name="default_underline_indicator_fades">true</bool>
|
||||
<color name="default_circle_indicator_fill_color">#FFFFFFFF</color>
|
||||
<color name="default_circle_indicator_page_color">#00000000</color>
|
||||
<color name="default_circle_indicator_stroke_color">#FFDDDDDD</color>
|
||||
<color name="default_line_indicator_selected_color">#FF33B5E5</color>
|
||||
<color name="default_line_indicator_unselected_color">#FFBBBBBB</color>
|
||||
<color name="default_title_indicator_footer_color">#FF33B5E5</color>
|
||||
<color name="default_title_indicator_selected_color">#FFFFFFFF</color>
|
||||
<color name="default_title_indicator_text_color">#BBFFFFFF</color>
|
||||
<color name="default_underline_indicator_selected_color">#FF33B5E5</color>
|
||||
<color name="vpi__background_holo_dark">#ff000000</color>
|
||||
<color name="vpi__background_holo_light">#fff3f3f3</color>
|
||||
<color name="vpi__bright_foreground_disabled_holo_dark">#ff4c4c4c</color>
|
||||
<color name="vpi__bright_foreground_disabled_holo_light">#ffb2b2b2</color>
|
||||
<color name="vpi__bright_foreground_holo_dark">@color/vpi__background_holo_light</color>
|
||||
<color name="vpi__bright_foreground_holo_light">@color/vpi__background_holo_dark</color>
|
||||
<color name="vpi__bright_foreground_inverse_holo_dark">@color/vpi__bright_foreground_holo_light</color>
|
||||
<color name="vpi__bright_foreground_inverse_holo_light">@color/vpi__bright_foreground_holo_dark</color>
|
||||
<declare-styleable name="CirclePageIndicator"><attr name="centered"/><attr format="color" name="fillColor"/><attr format="color" name="pageColor"/><attr name="android:orientation"/><attr format="dimension" name="radius"/><attr format="boolean" name="snap"/><attr format="color" name="strokeColor"/><attr name="strokeWidth"/><attr name="android:background"/></declare-styleable>
|
||||
<declare-styleable name="LinePageIndicator"><attr name="centered"/><attr name="unselectedColor"/><attr name="selectedColor"/><attr format="dimension" name="lineWidth"/><attr name="strokeWidth"/><attr format="dimension" name="gapWidth"/><attr name="android:background"/></declare-styleable>
|
||||
<declare-styleable name="TitlePageIndicator"><attr format="dimension" name="clipPadding"/><attr format="color" name="footerColor"/><attr format="dimension" name="footerLineHeight"/><attr name="footerIndicatorStyle">
|
||||
<enum name="none" value="0"/>
|
||||
<enum name="triangle" value="1"/>
|
||||
<enum name="underline" value="2"/>
|
||||
</attr><attr format="dimension" name="footerIndicatorHeight"/><attr format="dimension" name="footerIndicatorUnderlinePadding"/><attr format="dimension" name="footerPadding"/><attr name="linePosition">
|
||||
<enum name="bottom" value="0"/>
|
||||
<enum name="top" value="1"/>
|
||||
</attr><attr name="selectedColor"/><attr format="boolean" name="selectedBold"/><attr name="android:textColor"/><attr name="android:textSize"/><attr format="dimension" name="titlePadding"/><attr format="dimension" name="topPadding"/><attr name="android:background"/></declare-styleable>
|
||||
<declare-styleable name="UnderlinePageIndicator"><attr format="boolean" name="fades"/><attr format="integer" name="fadeDelay"/><attr format="integer" name="fadeLength"/><attr name="selectedColor"/><attr name="android:background"/></declare-styleable>
|
||||
<declare-styleable name="ViewPagerIndicator"><attr format="reference" name="vpiCirclePageIndicatorStyle"/><attr format="reference" name="vpiIconPageIndicatorStyle"/><attr format="reference" name="vpiLinePageIndicatorStyle"/><attr format="reference" name="vpiTitlePageIndicatorStyle"/><attr format="reference" name="vpiTabPageIndicatorStyle"/><attr format="reference" name="vpiUnderlinePageIndicatorStyle"/></declare-styleable>
|
||||
<dimen name="default_circle_indicator_radius">3dp</dimen>
|
||||
<dimen name="default_circle_indicator_stroke_width">1dp</dimen>
|
||||
<dimen name="default_line_indicator_gap_width">4dp</dimen>
|
||||
<dimen name="default_line_indicator_line_width">12dp</dimen>
|
||||
<dimen name="default_line_indicator_stroke_width">1dp</dimen>
|
||||
<dimen name="default_title_indicator_clip_padding">4dp</dimen>
|
||||
<dimen name="default_title_indicator_footer_indicator_height">4dp</dimen>
|
||||
<dimen name="default_title_indicator_footer_indicator_underline_padding">20dp</dimen>
|
||||
<dimen name="default_title_indicator_footer_line_height">2dp</dimen>
|
||||
<dimen name="default_title_indicator_footer_padding">7dp</dimen>
|
||||
<dimen name="default_title_indicator_text_size">15dp</dimen>
|
||||
<dimen name="default_title_indicator_title_padding">5dp</dimen>
|
||||
<dimen name="default_title_indicator_top_padding">7dp</dimen>
|
||||
<integer name="default_circle_indicator_orientation">0</integer>
|
||||
<integer name="default_title_indicator_footer_indicator_style">2</integer>
|
||||
<integer name="default_title_indicator_line_position">0</integer>
|
||||
<integer name="default_underline_indicator_fade_delay">300</integer>
|
||||
<integer name="default_underline_indicator_fade_length">400</integer>
|
||||
<style name="TextAppearance.TabPageIndicator" parent="Widget">
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="android:textColor">@color/vpi__dark_theme</item>
|
||||
</style>
|
||||
<style name="Theme.PageIndicatorDefaults" parent="android:Theme">
|
||||
<item name="vpiIconPageIndicatorStyle">@style/Widget.IconPageIndicator</item>
|
||||
<item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item>
|
||||
</style>
|
||||
<style name="Widget"/>
|
||||
<style name="Widget.IconPageIndicator" parent="Widget">
|
||||
<item name="android:layout_marginLeft">6dp</item>
|
||||
<item name="android:layout_marginRight">6dp</item>
|
||||
</style>
|
||||
<style name="Widget.TabPageIndicator" parent="Widget">
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:background">@drawable/vpi__tab_indicator</item>
|
||||
<item name="android:paddingLeft">22dip</item>
|
||||
<item name="android:paddingRight">22dip</item>
|
||||
<item name="android:paddingTop">12dp</item>
|
||||
<item name="android:paddingBottom">12dp</item>
|
||||
<item name="android:textAppearance">@style/TextAppearance.TabPageIndicator</item>
|
||||
<item name="android:textSize">16sp</item>
|
||||
<item name="android:maxLines">1</item>
|
||||
<item name="android:textColor">@drawable/vpi_text_tab_indicator</item>
|
||||
</style>
|
||||
</resources>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.viewpagerindicator"
|
||||
android:versionCode="65"
|
||||
android:versionName="2.4.1" > <!-- <uses-sdk android:minSdkVersion="4" /> -->
|
||||
<uses-sdk
|
||||
android:minSdkVersion="14"
|
||||
android:targetSdkVersion="23" />
|
||||
|
||||
</manifest>
|
@ -0,0 +1,140 @@
|
||||
int attr centered 0x7f010000
|
||||
int attr clipPadding 0x7f01000b
|
||||
int attr fadeDelay 0x7f010017
|
||||
int attr fadeLength 0x7f010018
|
||||
int attr fades 0x7f010016
|
||||
int attr fillColor 0x7f010004
|
||||
int attr footerColor 0x7f01000c
|
||||
int attr footerIndicatorHeight 0x7f01000f
|
||||
int attr footerIndicatorStyle 0x7f01000e
|
||||
int attr footerIndicatorUnderlinePadding 0x7f010010
|
||||
int attr footerLineHeight 0x7f01000d
|
||||
int attr footerPadding 0x7f010011
|
||||
int attr gapWidth 0x7f01000a
|
||||
int attr linePosition 0x7f010012
|
||||
int attr lineWidth 0x7f010009
|
||||
int attr pageColor 0x7f010005
|
||||
int attr radius 0x7f010006
|
||||
int attr selectedBold 0x7f010013
|
||||
int attr selectedColor 0x7f010001
|
||||
int attr snap 0x7f010007
|
||||
int attr strokeColor 0x7f010008
|
||||
int attr strokeWidth 0x7f010002
|
||||
int attr titlePadding 0x7f010014
|
||||
int attr topPadding 0x7f010015
|
||||
int attr unselectedColor 0x7f010003
|
||||
int attr vpiCirclePageIndicatorStyle 0x7f010019
|
||||
int attr vpiIconPageIndicatorStyle 0x7f01001a
|
||||
int attr vpiLinePageIndicatorStyle 0x7f01001b
|
||||
int attr vpiTabPageIndicatorStyle 0x7f01001d
|
||||
int attr vpiTitlePageIndicatorStyle 0x7f01001c
|
||||
int attr vpiUnderlinePageIndicatorStyle 0x7f01001e
|
||||
int bool default_circle_indicator_centered 0x7f030000
|
||||
int bool default_circle_indicator_snap 0x7f030001
|
||||
int bool default_line_indicator_centered 0x7f030002
|
||||
int bool default_title_indicator_selected_bold 0x7f030003
|
||||
int bool default_underline_indicator_fades 0x7f030004
|
||||
int color default_circle_indicator_fill_color 0x7f040000
|
||||
int color default_circle_indicator_page_color 0x7f040001
|
||||
int color default_circle_indicator_stroke_color 0x7f040002
|
||||
int color default_line_indicator_selected_color 0x7f040003
|
||||
int color default_line_indicator_unselected_color 0x7f040004
|
||||
int color default_title_indicator_footer_color 0x7f040005
|
||||
int color default_title_indicator_selected_color 0x7f040006
|
||||
int color default_title_indicator_text_color 0x7f040007
|
||||
int color default_underline_indicator_selected_color 0x7f040008
|
||||
int color vpi__background_holo_dark 0x7f040009
|
||||
int color vpi__background_holo_light 0x7f04000a
|
||||
int color vpi__bright_foreground_disabled_holo_dark 0x7f04000b
|
||||
int color vpi__bright_foreground_disabled_holo_light 0x7f04000c
|
||||
int color vpi__bright_foreground_holo_dark 0x7f04000d
|
||||
int color vpi__bright_foreground_holo_light 0x7f04000e
|
||||
int color vpi__bright_foreground_inverse_holo_dark 0x7f04000f
|
||||
int color vpi__bright_foreground_inverse_holo_light 0x7f040010
|
||||
int color vpi__dark_theme 0x7f040011
|
||||
int color vpi__light_theme 0x7f040012
|
||||
int dimen default_circle_indicator_radius 0x7f050000
|
||||
int dimen default_circle_indicator_stroke_width 0x7f050001
|
||||
int dimen default_line_indicator_gap_width 0x7f050002
|
||||
int dimen default_line_indicator_line_width 0x7f050003
|
||||
int dimen default_line_indicator_stroke_width 0x7f050004
|
||||
int dimen default_title_indicator_clip_padding 0x7f050005
|
||||
int dimen default_title_indicator_footer_indicator_height 0x7f050006
|
||||
int dimen default_title_indicator_footer_indicator_underline_padding 0x7f050007
|
||||
int dimen default_title_indicator_footer_line_height 0x7f050008
|
||||
int dimen default_title_indicator_footer_padding 0x7f050009
|
||||
int dimen default_title_indicator_text_size 0x7f05000a
|
||||
int dimen default_title_indicator_title_padding 0x7f05000b
|
||||
int dimen default_title_indicator_top_padding 0x7f05000c
|
||||
int drawable community_tab_subscript 0x7f020000
|
||||
int drawable tab 0x7f020001
|
||||
int drawable vpi__tab_indicator 0x7f020002
|
||||
int drawable vpi__tab_selected_focused_holo 0x7f020003
|
||||
int drawable vpi__tab_selected_holo 0x7f020004
|
||||
int drawable vpi__tab_selected_pressed_holo 0x7f020005
|
||||
int drawable vpi__tab_unselected_focused_holo 0x7f020006
|
||||
int drawable vpi__tab_unselected_holo 0x7f020007
|
||||
int drawable vpi__tab_unselected_pressed_holo 0x7f020008
|
||||
int drawable vpi_text_tab_indicator 0x7f020009
|
||||
int id bottom 0x7f080003
|
||||
int id none 0x7f080000
|
||||
int id top 0x7f080004
|
||||
int id triangle 0x7f080001
|
||||
int id underline 0x7f080002
|
||||
int integer default_circle_indicator_orientation 0x7f060000
|
||||
int integer default_title_indicator_footer_indicator_style 0x7f060001
|
||||
int integer default_title_indicator_line_position 0x7f060002
|
||||
int integer default_underline_indicator_fade_delay 0x7f060003
|
||||
int integer default_underline_indicator_fade_length 0x7f060004
|
||||
int style TextAppearance_TabPageIndicator 0x7f070000
|
||||
int style Theme_PageIndicatorDefaults 0x7f070001
|
||||
int style Widget 0x7f070002
|
||||
int style Widget_IconPageIndicator 0x7f070003
|
||||
int style Widget_TabPageIndicator 0x7f070004
|
||||
int[] styleable CirclePageIndicator { 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008 }
|
||||
int styleable CirclePageIndicator_android_background 1
|
||||
int styleable CirclePageIndicator_android_orientation 0
|
||||
int styleable CirclePageIndicator_centered 2
|
||||
int styleable CirclePageIndicator_fillColor 4
|
||||
int styleable CirclePageIndicator_pageColor 5
|
||||
int styleable CirclePageIndicator_radius 6
|
||||
int styleable CirclePageIndicator_snap 7
|
||||
int styleable CirclePageIndicator_strokeColor 8
|
||||
int styleable CirclePageIndicator_strokeWidth 3
|
||||
int[] styleable LinePageIndicator { 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010009, 0x7f01000a }
|
||||
int styleable LinePageIndicator_android_background 0
|
||||
int styleable LinePageIndicator_centered 1
|
||||
int styleable LinePageIndicator_gapWidth 6
|
||||
int styleable LinePageIndicator_lineWidth 5
|
||||
int styleable LinePageIndicator_selectedColor 2
|
||||
int styleable LinePageIndicator_strokeWidth 3
|
||||
int styleable LinePageIndicator_unselectedColor 4
|
||||
int[] styleable TitlePageIndicator { 0x01010095, 0x01010098, 0x010100d4, 0x7f010001, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015 }
|
||||
int styleable TitlePageIndicator_android_background 2
|
||||
int styleable TitlePageIndicator_android_textColor 1
|
||||
int styleable TitlePageIndicator_android_textSize 0
|
||||
int styleable TitlePageIndicator_clipPadding 4
|
||||
int styleable TitlePageIndicator_footerColor 5
|
||||
int styleable TitlePageIndicator_footerIndicatorHeight 8
|
||||
int styleable TitlePageIndicator_footerIndicatorStyle 7
|
||||
int styleable TitlePageIndicator_footerIndicatorUnderlinePadding 9
|
||||
int styleable TitlePageIndicator_footerLineHeight 6
|
||||
int styleable TitlePageIndicator_footerPadding 10
|
||||
int styleable TitlePageIndicator_linePosition 11
|
||||
int styleable TitlePageIndicator_selectedBold 12
|
||||
int styleable TitlePageIndicator_selectedColor 3
|
||||
int styleable TitlePageIndicator_titlePadding 13
|
||||
int styleable TitlePageIndicator_topPadding 14
|
||||
int[] styleable UnderlinePageIndicator { 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017, 0x7f010018 }
|
||||
int styleable UnderlinePageIndicator_android_background 0
|
||||
int styleable UnderlinePageIndicator_fadeDelay 3
|
||||
int styleable UnderlinePageIndicator_fadeLength 4
|
||||
int styleable UnderlinePageIndicator_fades 2
|
||||
int styleable UnderlinePageIndicator_selectedColor 1
|
||||
int[] styleable ViewPagerIndicator { 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e }
|
||||
int styleable ViewPagerIndicator_vpiCirclePageIndicatorStyle 0
|
||||
int styleable ViewPagerIndicator_vpiIconPageIndicatorStyle 1
|
||||
int styleable ViewPagerIndicator_vpiLinePageIndicatorStyle 2
|
||||
int styleable ViewPagerIndicator_vpiTabPageIndicatorStyle 4
|
||||
int styleable ViewPagerIndicator_vpiTitlePageIndicatorStyle 3
|
||||
int styleable ViewPagerIndicator_vpiUnderlinePageIndicatorStyle 5
|
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2010 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/vpi__bright_foreground_disabled_holo_dark"/>
|
||||
<item android:state_window_focused="false" android:color="@color/vpi__bright_foreground_holo_dark"/>
|
||||
<item android:state_pressed="true" android:color="@color/vpi__bright_foreground_holo_dark"/>
|
||||
<item android:state_selected="true" android:color="@color/vpi__bright_foreground_holo_dark"/>
|
||||
<!--item android:state_activated="true" android:color="@color/vpi__bright_foreground_holo_dark"/-->
|
||||
<item android:color="@color/vpi__bright_foreground_holo_dark"/> <!-- not selected -->
|
||||
</selector>
|
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2010 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/vpi__bright_foreground_disabled_holo_light"/>
|
||||
<item android:state_window_focused="false" android:color="@color/vpi__bright_foreground_holo_light"/>
|
||||
<item android:state_pressed="true" android:color="@color/vpi__bright_foreground_holo_light"/>
|
||||
<item android:state_selected="true" android:color="@color/vpi__bright_foreground_holo_light"/>
|
||||
<!--item android:state_activated="true" android:color="@color/vpi__bright_foreground_holo_light"/-->
|
||||
<item android:color="@color/vpi__bright_foreground_holo_light"/> <!-- not selected -->
|
||||
|
||||
</selector>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 148 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 146 B |
After Width: | Height: | Size: 153 B |