Merge branch 'feature/v1.0.2' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into feature/v1.0.2
@@ -1,8 +1,8 @@
|
||||
<?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.mogo.launcher">
|
||||
<!-- android:sharedUserId="android.uid.system">-->
|
||||
package="com.mogo.launcher"
|
||||
android:sharedUserId="android.uid.system">
|
||||
|
||||
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
o/full
|
||||
@@ -0,0 +1 @@
|
||||
o/full
|
||||
@@ -0,0 +1 @@
|
||||
i/
|
||||
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.yarolegovich.discretescrollview;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String LIBRARY_PACKAGE_NAME = "com.yarolegovich.discretescrollview";
|
||||
/**
|
||||
* @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String APPLICATION_ID = "com.yarolegovich.discretescrollview";
|
||||
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 = "1.0.0-SNAPSHOT";
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.yarolegovich.discretescrollview"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0.0-SNAPSHOT" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="19"
|
||||
android:targetSdkVersion="22" />
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1 @@
|
||||
[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.0-SNAPSHOT","enabled":true,"outputFile":"card-library-debug.aar","fullName":"debug","baseName":"debug"},"path":"AndroidManifest.xml","properties":{"packageId":"com.yarolegovich.discretescrollview","split":""}}]
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\debug\jniLibs"/></dataSet></merger>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\debug\shaders"/></dataSet></merger>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\main\assets"/><source path="F:\Station\Launcher\libraries\card-library\build\intermediates\shader_assets\debug\compileDebugShaders\out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\debug\assets"/></dataSet></merger>
|
||||
@@ -0,0 +1 @@
|
||||
#Wed Mar 11 22:04:04 CST 2020
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="dsv_ex_msg_adapter_wrong_recycler">InfiniteScrollAdapter is supposed to work only with DiscreteScrollView</string>
|
||||
<string name="dsv_ex_msg_dont_set_lm">You should not set LayoutManager on DiscreteScrollView.class instance. Library uses a special one. Just don\'t call the method.</string>
|
||||
<declare-styleable name="DiscreteScrollView">
|
||||
<attr format="enum" name="dsv_orientation">
|
||||
<enum name="horizontal" value="0"/>
|
||||
<enum name="vertical" value="1"/>
|
||||
</attr>
|
||||
</declare-styleable>
|
||||
</resources>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\main\res"/><source path="F:\Station\Launcher\libraries\card-library\build\generated\res\rs\debug"/><source path="F:\Station\Launcher\libraries\card-library\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\main\res"><file path="F:\Station\Launcher\libraries\card-library\src\main\res\values\attr.xml" qualifiers=""><declare-styleable name="DiscreteScrollView">
|
||||
<attr format="enum" name="dsv_orientation">
|
||||
<enum name="horizontal" value="0"/>
|
||||
<enum name="vertical" value="1"/>
|
||||
</attr>
|
||||
</declare-styleable></file><file path="F:\Station\Launcher\libraries\card-library\src\main\res\values\strings.xml" qualifiers=""><string name="dsv_ex_msg_dont_set_lm">You should not set LayoutManager on DiscreteScrollView.class instance. Library uses a special one. Just don\'t call the method.</string><string name="dsv_ex_msg_adapter_wrong_recycler">InfiniteScrollAdapter is supposed to work only with DiscreteScrollView</string></file></source><source path="F:\Station\Launcher\libraries\card-library\build\generated\res\rs\debug"/><source path="F:\Station\Launcher\libraries\card-library\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="F:\Station\Launcher\libraries\card-library\src\debug\res"/></dataSet><mergedItems><configuration qualifiers=""><declare-styleable name="DiscreteScrollView">
|
||||
<attr format="enum" name="dsv_orientation">
|
||||
<enum name="horizontal" value="0"/>
|
||||
<enum name="vertical" value="1"/>
|
||||
</attr>
|
||||
</declare-styleable></configuration></mergedItems></merger>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.yarolegovich.discretescrollview"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0.0-SNAPSHOT" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="19"
|
||||
android:targetSdkVersion="22" />
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,8 @@
|
||||
R_DEF: Internal format may change without notice
|
||||
local
|
||||
attr? dsv_orientation
|
||||
id horizontal
|
||||
id vertical
|
||||
string dsv_ex_msg_adapter_wrong_recycler
|
||||
string dsv_ex_msg_dont_set_lm
|
||||
styleable DiscreteScrollView dsv_orientation
|
||||
@@ -0,0 +1,13 @@
|
||||
1<?xml version="1.0" encoding="utf-8"?>
|
||||
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
3 package="com.yarolegovich.discretescrollview"
|
||||
4 android:versionCode="1"
|
||||
5 android:versionName="1.0.0-SNAPSHOT" >
|
||||
6
|
||||
7 <uses-sdk
|
||||
8 android:minSdkVersion="19"
|
||||
8-->F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
9 android:targetSdkVersion="22" />
|
||||
9-->F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
10
|
||||
11</manifest>
|
||||
@@ -0,0 +1 @@
|
||||
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.0-SNAPSHOT","enabled":true,"outputFile":"card-library-debug.aar","fullName":"debug","baseName":"debug"},"path":"..\\..\\library_manifest\\debug\\AndroidManifest.xml","properties":{"packageId":"com.yarolegovich.discretescrollview","split":""}}]
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="dsv_ex_msg_adapter_wrong_recycler">InfiniteScrollAdapter is supposed to work only with DiscreteScrollView</string>
|
||||
<string name="dsv_ex_msg_dont_set_lm">You should not set LayoutManager on DiscreteScrollView.class instance. Library uses a special one. Just don\'t call the method.</string>
|
||||
<declare-styleable name="DiscreteScrollView">
|
||||
<attr format="enum" name="dsv_orientation">
|
||||
<enum name="horizontal" value="0"/>
|
||||
<enum name="vertical" value="1"/>
|
||||
</attr>
|
||||
</declare-styleable>
|
||||
</resources>
|
||||
1654
libraries/card-library/build/intermediates/symbols/debug/R.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
-- Merging decision tree log ---
|
||||
manifest
|
||||
ADDED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
package
|
||||
ADDED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:11-56
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
android:versionName
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
ADDED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
xmlns:android
|
||||
ADDED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
android:versionCode
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
ADDED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml:1:1-59
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
uses-sdk
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml reason: use-sdk injection requested
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
android:targetSdkVersion
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
ADDED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
android:minSdkVersion
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
ADDED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
INJECTED from F:\Station\Launcher\libraries\card-library\src\main\AndroidManifest.xml
|
||||
@@ -3,6 +3,8 @@ package com.mogo.module.apps;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
@@ -12,6 +14,9 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.module.apps.adapter.AppIndicatorAdapter;
|
||||
import com.mogo.module.apps.adapter.base.RecycleViewHolder;
|
||||
import com.mogo.module.apps.model.NavigatorApp;
|
||||
import com.mogo.module.apps.model.NavigatorApps;
|
||||
import com.mogo.module.apps.utils.CardScaleTransformer;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
@@ -24,6 +29,7 @@ import com.mogo.utils.logger.Logger;
|
||||
import com.yarolegovich.discretescrollview.DiscreteScrollView;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -33,14 +39,15 @@ import java.util.Map;
|
||||
* 描述
|
||||
*/
|
||||
public class AppNavigatorFragment extends MvpFragment<AppNavigatorView, AppNavigatorPresenter>
|
||||
implements AppNavigatorView, DiscreteScrollView.OnItemChangedListener<RecyclerView.ViewHolder>,
|
||||
DiscreteScrollView.ScrollStateChangeListener<RecyclerView.ViewHolder>,
|
||||
implements AppNavigatorView, DiscreteScrollView.OnItemChangedListener<RecycleViewHolder>,
|
||||
DiscreteScrollView.ScrollStateChangeListener<RecycleViewHolder>,
|
||||
IMogoCardChangedListener {
|
||||
|
||||
private static final String TAG = "AppNavigatorFragment";
|
||||
private View mApps;
|
||||
|
||||
private IMogoFragmentManager mMogoFragmentManager;
|
||||
List<NavigatorApp> apps;
|
||||
|
||||
/**
|
||||
* 搜索莫模块
|
||||
@@ -67,6 +74,9 @@ public class AppNavigatorFragment extends MvpFragment<AppNavigatorView, AppNavig
|
||||
mApps = findViewById(R.id.module_apps_id_apps);
|
||||
|
||||
scroller = findViewById(R.id.module_apps_id_scroller);
|
||||
|
||||
scroller.setRatio(330/523F);
|
||||
//scroller.setRatio(176/279F);
|
||||
scroller.setSlideOnFling(true);
|
||||
scroller.addOnItemChangedListener(this);
|
||||
scroller.addScrollStateChangeListener(this);
|
||||
@@ -74,23 +84,10 @@ public class AppNavigatorFragment extends MvpFragment<AppNavigatorView, AppNavig
|
||||
scroller.setItemTransformer(new CardScaleTransformer.Builder()
|
||||
.setMinScale(0.84f)
|
||||
.build());
|
||||
//
|
||||
//
|
||||
//LinearLayoutManager linearLayoutManager =
|
||||
// new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false);
|
||||
//
|
||||
//scroller.setLayoutManager(linearLayoutManager);
|
||||
|
||||
ArrayList<Integer> integers = new ArrayList<>(10);
|
||||
apps = NavigatorApps.getApps();
|
||||
|
||||
integers.add(R.drawable.module_apps_ic_online_car);
|
||||
integers.add(R.drawable.module_apps_ic_interest);
|
||||
integers.add(R.drawable.module_apps_ic_news);
|
||||
integers.add(R.drawable.module_apps_ic_media_center);
|
||||
integers.add(R.drawable.module_apps_ic_chat);
|
||||
integers.add(R.drawable.module_apps_ic_tanlu);
|
||||
|
||||
AppIndicatorAdapter appIndicatorAdapter = new AppIndicatorAdapter(getContext(), integers);
|
||||
AppIndicatorAdapter appIndicatorAdapter = new AppIndicatorAdapter(getContext(), apps);
|
||||
scroller.setAdapter(appIndicatorAdapter);
|
||||
scroller.scrollToPosition(Integer.MAX_VALUE / 2 - 1);
|
||||
//mNavigation.setOnClickListener( view -> {
|
||||
@@ -178,27 +175,45 @@ public class AppNavigatorFragment extends MvpFragment<AppNavigatorView, AppNavig
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCurrentItemChanged(@Nullable RecyclerView.ViewHolder viewHolder, int i) {
|
||||
public void onCurrentItemChanged(@Nullable RecycleViewHolder viewHolder, int i) {
|
||||
Logger.d(TAG, "onCurrentItemChanged--position--" + i % CARD_SIZE);
|
||||
int currentPosition = i % CARD_SIZE - 2;
|
||||
if (currentPosition < 0) {
|
||||
currentPosition += CARD_SIZE;
|
||||
}
|
||||
this.currentPosition=currentPosition;
|
||||
AppServiceHandler.getMogoCardManager().invoke(currentPosition, "");
|
||||
}
|
||||
AppServiceHandler.getMogoCardManager().switch2(apps.get(i % CARD_SIZE).mModuleType);
|
||||
|
||||
@Override public void onScrollStart(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
|
||||
//holder.showText();
|
||||
|
||||
//ImageView view = viewHolder.getView(R.id.module_apps_id_app_icon);
|
||||
//view.setImageResource(apps.get(currentPosition).getmIconId());
|
||||
//
|
||||
//TextView tvTitle = viewHolder.getView(R.id.module_apps_id_app_name);
|
||||
//tvTitle.setTextColor(getResources().getColor(R.color.white));
|
||||
|
||||
}
|
||||
|
||||
@Override public void onScrollEnd(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
|
||||
@Override public void onScrollStart(@NonNull RecycleViewHolder viewHolder, int i) {
|
||||
int currentPosition = i % CARD_SIZE - 2;
|
||||
//
|
||||
//ImageView view = viewHolder.getView(R.id.module_apps_id_app_icon);
|
||||
//
|
||||
//
|
||||
//view.setImageResource(apps.get(currentPosition).mUncheckedIconId);
|
||||
//TextView tvTitle = viewHolder.getView(R.id.module_apps_id_app_name);
|
||||
//tvTitle.setTextColor(getResources().getColor(R.color.white_80));
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override public void onScrollEnd(@NonNull RecycleViewHolder viewHolder, int i) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onScroll(float v, int i, int i1, @Nullable RecyclerView.ViewHolder viewHolder,
|
||||
@Nullable RecyclerView.ViewHolder t1) {
|
||||
public void onScroll(float v, int i, int i1, @Nullable RecycleViewHolder viewHolder,
|
||||
@Nullable RecycleViewHolder t1) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -6,17 +6,18 @@ import android.widget.ImageView;
|
||||
import com.mogo.module.apps.R;
|
||||
import com.mogo.module.apps.adapter.base.RecycleBaseAdapter;
|
||||
import com.mogo.module.apps.adapter.base.RecycleViewHolder;
|
||||
import com.mogo.module.apps.model.NavigatorApp;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zyz
|
||||
* 2020-03-09.
|
||||
*/
|
||||
public class AppIndicatorAdapter extends RecycleBaseAdapter<Integer> {
|
||||
public class AppIndicatorAdapter extends RecycleBaseAdapter<NavigatorApp> {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public AppIndicatorAdapter(Context context, List<Integer> list
|
||||
public AppIndicatorAdapter(Context context, List<NavigatorApp> list
|
||||
) {
|
||||
super(context, list, R.layout.module_apps_item_app_indicator);
|
||||
}
|
||||
@@ -25,10 +26,9 @@ public class AppIndicatorAdapter extends RecycleBaseAdapter<Integer> {
|
||||
return Integer.MAX_VALUE;
|
||||
}
|
||||
|
||||
@Override public void onBindViewHolder(RecycleViewHolder holder, Integer integer) {
|
||||
@Override public void onBindViewHolder(RecycleViewHolder holder, NavigatorApp integer) {
|
||||
ImageView ivIndicator = holder.getView(R.id.module_apps_id_app_icon);
|
||||
ivIndicator.setImageResource(integer);
|
||||
holder.setText(R.id.module_apps_id_app_name,names[holder.getLayoutPosition()%6] );
|
||||
ivIndicator.setImageResource(integer.getmIconId());
|
||||
holder.setText(R.id.module_apps_id_app_name,integer.getmName() );
|
||||
}
|
||||
private String[] names=new String[]{"在线车辆","新鲜事","首页","媒体中心","车聊聊","探路"};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.mogo.module.apps.model;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-03-13
|
||||
* <p>
|
||||
* app
|
||||
*/
|
||||
public class NavigatorApp {
|
||||
|
||||
@DrawableRes
|
||||
public int mIconId;
|
||||
@DrawableRes
|
||||
public int mUncheckedIconId;
|
||||
public String mName;
|
||||
public String mModuleType;
|
||||
|
||||
public NavigatorApp( int mIconId,int mUncheckedIconId, String mName, String mModuleType ) {
|
||||
this.mIconId = mIconId;
|
||||
this.mUncheckedIconId = mUncheckedIconId;
|
||||
this.mName = mName;
|
||||
this.mModuleType = mModuleType;
|
||||
}
|
||||
|
||||
public int getmIconId() {
|
||||
return mIconId;
|
||||
}
|
||||
|
||||
public void setmIconId(int mIconId) {
|
||||
this.mIconId = mIconId;
|
||||
}
|
||||
|
||||
public int getmUncheckedIconId() {
|
||||
return mUncheckedIconId;
|
||||
}
|
||||
|
||||
public void setmUncheckedIconId(int mUncheckedIconId) {
|
||||
this.mUncheckedIconId = mUncheckedIconId;
|
||||
}
|
||||
|
||||
public String getmName() {
|
||||
return mName;
|
||||
}
|
||||
|
||||
public void setmName(String mName) {
|
||||
this.mName = mName;
|
||||
}
|
||||
|
||||
public String getmModuleType() {
|
||||
return mModuleType;
|
||||
}
|
||||
|
||||
public void setmModuleType(String mModuleType) {
|
||||
this.mModuleType = mModuleType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.mogo.module.apps.model;
|
||||
|
||||
import com.mogo.module.apps.R;
|
||||
import com.mogo.module.common.ModuleNames;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-03-13
|
||||
* <p>
|
||||
* app
|
||||
*/
|
||||
public class NavigatorApps {
|
||||
|
||||
//integers.add(R.drawable.module_apps_ic_online_car);
|
||||
//integers.add(R.drawable.module_apps_ic_interest);
|
||||
//integers.add(R.drawable.module_apps_ic_news);
|
||||
//integers.add(R.drawable.module_apps_ic_media_center);
|
||||
//integers.add(R.drawable.module_apps_ic_chat_icon);
|
||||
//integers.add(R.drawable.module_apps_ic_tanlu);
|
||||
|
||||
public static List< NavigatorApp > getApps() {
|
||||
List< NavigatorApp > apps = new ArrayList<>();
|
||||
apps.add( new NavigatorApp( R.drawable.module_apps_ic_online_car,R.drawable.module_apps_ic_online_car_unchecked, "在线车辆", ModuleNames.CARD_TYPE_USER_DATA ) );
|
||||
apps.add( new NavigatorApp( R.drawable.module_apps_ic_interest, R.drawable.module_apps_ic_interest_unchecked,"新鲜事", ModuleNames.CARD_TYPE_NOVELTY ) );
|
||||
apps.add( new NavigatorApp( R.drawable.module_apps_ic_news,R.drawable.module_apps_ic_news_unchecked, "首页", ModuleNames.CARD_TYPE_BUSINESS_OPERATION ) );
|
||||
apps.add( new NavigatorApp( R.drawable.module_apps_ic_media_center, R.drawable.module_apps_ic_media_center_checked, "媒体中心", ModuleNames.CARD_TYPE_SHARE_MUSIC ) );
|
||||
apps.add( new NavigatorApp( R.drawable.module_apps_ic_chat_icon, R.drawable.module_apps_ic_chat_unchecked,"车聊聊", ModuleNames.CARD_TYPE_CARS_CHATTING ) );
|
||||
apps.add( new NavigatorApp( R.drawable.module_apps_ic_tanlu, R.drawable.module_apps_ic_tanlu_unchecked,"探路", ModuleNames.CARD_TYPE_ROAD_CONDITION ) );
|
||||
return apps;
|
||||
}
|
||||
}
|
||||
BIN
modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_apps.png
Executable file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_chat.png
Executable file
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
BIN
modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_interest.png
Executable file
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
BIN
modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_news.png
Executable file
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
BIN
modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_tanlu.png
Executable file
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
@@ -9,7 +9,7 @@
|
||||
|
||||
<com.yarolegovich.discretescrollview.DiscreteScrollView
|
||||
android:id="@+id/module_apps_id_scroller"
|
||||
android:layout_width="@dimen/dp_523"
|
||||
android:layout_width="@dimen/apps_id_scroller_width"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:layout_height="@dimen/module_apps_navigation_icon_container_height"
|
||||
@@ -21,7 +21,7 @@
|
||||
<ImageView
|
||||
android:id="@+id/module_apps_id_apps"
|
||||
android:layout_width="@dimen/module_apps_navigation_icon_width"
|
||||
android:layout_marginTop="@dimen/dp_18"
|
||||
android:layout_marginTop="@dimen/apps_margin_top"
|
||||
android:layout_height="@dimen/module_apps_navigation_icon_height"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_apps_id_scroller"
|
||||
app:layout_constraintTop_toTopOf="@id/module_apps_id_scroller"
|
||||
@@ -31,15 +31,15 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_marginLeft="@dimen/dp_37"
|
||||
android:layout_marginLeft="@dimen/apps_margin_left"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_apps_id_scroller"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_apps_id_apps"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="全部应用"
|
||||
android:maxLines="1"
|
||||
android:layout_marginTop="24px"
|
||||
android:layout_marginTop="@dimen/dp_24"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="26.25px"
|
||||
android:textSize="@dimen/dp_26"
|
||||
/>
|
||||
|
||||
|
||||
|
||||
@@ -5,13 +5,18 @@
|
||||
<dimen name="module_apps_indicator_width">16px</dimen>
|
||||
<dimen name="module_apps_indicator_interval">2.3px</dimen>
|
||||
<dimen name="module_apps_indicator_marginBottom">54.9px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_width">64px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_height">64px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_marginLeft">31.6px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_width">50px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_height">50px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_marginLeft">22px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_paddingBottom">33px</dimen>
|
||||
<dimen name="module_apps_app_name_marginTop">24px</dimen>
|
||||
<dimen name="module_apps_app_name_textSize">18px</dimen>
|
||||
<dimen name="module_apps_page_paddingLeft">112px</dimen>
|
||||
<dimen name="module_apps_page_paddingRight">112px</dimen>
|
||||
<dimen name="apps_id_scroller_width">279px</dimen>
|
||||
<dimen name="module_apps_page_item_verticalSpacing">89px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_container_height">95px</dimen>
|
||||
<dimen name="apps_margin_top">9.5px</dimen>
|
||||
<dimen name="apps_margin_left">18px</dimen>
|
||||
|
||||
</resources>
|
||||
20
modules/mogo-module-apps/src/main/res/values/colors.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorPrimary">#008577</color>
|
||||
<color name="colorPrimaryDark">#00574B</color>
|
||||
<color name="colorAccent">#D81B60</color>
|
||||
<color name="bg_gray_common_page">#ff080625</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="translate">#00000000</color>
|
||||
<color name="white_10">#1AFFFFFF</color>
|
||||
<color name="white_60">#99FFFFFF</color>
|
||||
<color name="white_80">#CCFFFFFF</color>
|
||||
<color name="white_7f">#7FFFFFFF</color>
|
||||
<color name="arrow_color">#00BFFF</color>
|
||||
<color name="white_30">#4DFFFFFF</color>
|
||||
<color name="txt_gray_day">#4D080625</color>
|
||||
|
||||
<color name="bg_common">#080625</color>
|
||||
<color name="txt_blue">#3E7FFC</color>
|
||||
|
||||
</resources>
|
||||
@@ -15,4 +15,7 @@
|
||||
<dimen name="module_apps_page_paddingRight">220px</dimen>
|
||||
<dimen name="module_apps_page_item_verticalSpacing">154px</dimen>
|
||||
<dimen name="module_apps_navigation_icon_container_height">174px</dimen>
|
||||
<dimen name="apps_id_scroller_width">523px</dimen>
|
||||
<dimen name="apps_margin_top">18px</dimen>
|
||||
<dimen name="apps_margin_left">37px</dimen>
|
||||
</resources>
|
||||
@@ -11,7 +11,7 @@ public class MarkerCarInfo implements Serializable {
|
||||
|
||||
private String carBrandLogoUrl;
|
||||
private String carTypeName;
|
||||
private int carType;
|
||||
private int vehicleType;
|
||||
private CarLiveInfo carLiveInfo;
|
||||
|
||||
public String getCarBrandLogoUrl() {
|
||||
@@ -36,12 +36,12 @@ public class MarkerCarInfo implements Serializable {
|
||||
this.carTypeName = carTypeName;
|
||||
}
|
||||
|
||||
public int getCarType() {
|
||||
return carType;
|
||||
public int getVehicleType() {
|
||||
return vehicleType;
|
||||
}
|
||||
|
||||
public void setCarType(int carType) {
|
||||
this.carType = carType;
|
||||
public void setVehicleType(int vehicleType) {
|
||||
this.vehicleType = vehicleType;
|
||||
}
|
||||
|
||||
public CarLiveInfo getCarLiveInfo() {
|
||||
|
||||
@@ -71,6 +71,8 @@ class DiscreteScrollLayoutManager extends LinearLayoutManager {
|
||||
|
||||
private int viewWidth, viewHeight;
|
||||
|
||||
private float ratio=0.5F;
|
||||
|
||||
@NonNull
|
||||
private final ScrollStateListener scrollStateListener;
|
||||
private DiscreteScrollItemTransformer itemTransformer;
|
||||
@@ -136,6 +138,10 @@ class DiscreteScrollLayoutManager extends LinearLayoutManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void setRatio(float ratio) {
|
||||
this.ratio = ratio;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLayoutCompleted(RecyclerView.State state) {
|
||||
if (isFirstOrEmptyLayout) {
|
||||
@@ -175,7 +181,7 @@ class DiscreteScrollLayoutManager extends LinearLayoutManager {
|
||||
recyclerViewProxy.removeAllViews();
|
||||
}
|
||||
recyclerCenter.set(
|
||||
recyclerViewProxy.getWidth() / 523*330,
|
||||
(int) (recyclerViewProxy.getWidth() * ratio),
|
||||
recyclerViewProxy.getHeight() / 2);
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,10 @@ public class DiscreteScrollView extends RecyclerView {
|
||||
setLayoutManager(layoutManager);
|
||||
}
|
||||
|
||||
public void setRatio(float ratio){
|
||||
layoutManager.setRatio(ratio);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLayoutManager(LayoutManager layout) {
|
||||
if (layout instanceof DiscreteScrollLayoutManager) {
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<dimen name="dp_23">12.5781px</dimen>
|
||||
<dimen name="dp_24">13.1250px</dimen>
|
||||
<dimen name="dp_25">13.6719px</dimen>
|
||||
<dimen name="dp_26">14.2188px</dimen>
|
||||
<dimen name="dp_26">14px</dimen>
|
||||
<dimen name="dp_27">14.7656px</dimen>
|
||||
<dimen name="dp_28">15.3125px</dimen>
|
||||
<dimen name="dp_29">15.8594px</dimen>
|
||||
|
||||
@@ -1946,14 +1946,14 @@ public class OrientedViewPager extends ViewGroup {
|
||||
Log.v(TAG, "Moved x to " + x + "," + y + " diff=" + xDiff + "," + yDiff);
|
||||
}
|
||||
|
||||
if (dx != 0 && !isGutterDrag(mLastMotionX, dx) &&
|
||||
canScroll(this, false, (int) dx, (int) x, (int) y)) {
|
||||
// Nested view has scrollable area under this point. Let it be handled there.
|
||||
mLastMotionX = x;
|
||||
mLastMotionY = y;
|
||||
mIsUnableToDrag = true;
|
||||
return false;
|
||||
}
|
||||
//if (dx != 0 && !isGutterDrag(mLastMotionX, dx) &&
|
||||
// canScroll(this, false, (int) dx, (int) x, (int) y)) {
|
||||
// // Nested view has scrollable area under this point. Let it be handled there.
|
||||
// mLastMotionX = x;
|
||||
// mLastMotionY = y;
|
||||
// mIsUnableToDrag = true;
|
||||
// return false;
|
||||
//}
|
||||
if (xDiff > mTouchSlop && xDiff * 0.5f > yDiff) {
|
||||
if (DEBUG) Log.v(TAG, "Starting drag!");
|
||||
mIsBeingDragged = true;
|
||||
|
||||
BIN
modules/mogo-module-main/src/main/res/drawable-ldpi/module_apps_bg_card.png
Executable file
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 713 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |