皮肤设置修改

This commit is contained in:
wangcongtao
2020-08-27 14:00:49 +08:00
parent 9107933389
commit b7110045e6
8 changed files with 60 additions and 146 deletions

View File

@@ -253,6 +253,12 @@ android {
packagingOptions {
exclude 'META-INF/io.netty.versions.properties'
}
sourceSets {
main {
res.srcDirs = ['src/main/res', 'src/main/res-night']
}
}
}
repositories {

View File

@@ -128,18 +128,6 @@ public class MogoApplication extends AbsMogoApplication {
.addInflater(new SkinMaterialViewInflater()) // material design 控件换肤初始化[可选]
.addInflater(new SkinConstraintViewInflater()) // ConstraintLayout 控件换肤初始化[可选]
.addInflater(new SkinCardViewInflater()) // CardView v7 控件换肤初始化[可选]
.addInflater( ( context, name, attrs ) -> {
View view = null;
try {
Class clazz = Class.forName( name );
Constructor<View> constructor = clazz.getConstructor( Context.class, AttributeSet.class );
constructor.setAccessible( true );
view = constructor.newInstance( constructor, attrs );
} catch ( Exception e ) {
e.printStackTrace();
}
return view;
} )
.setSkinAllActivityEnable(true)
.setSkinStatusBarColorEnable(false) // 关闭状态栏换肤,默认打开[可选]
.setSkinWindowBackgroundEnable(false) // 关闭windowBackground换肤默认打开[可选]

View File

@@ -27,7 +27,6 @@ import com.amap.api.maps.model.Poi;
import com.amap.api.maps.model.Polyline;
import com.amap.api.maps.model.animation.Animation;
import com.amap.api.maps.model.animation.TranslateAnimation;
import com.amap.api.navi.AMapNaviViewListener;
import com.amap.api.navi.AMapNaviViewOptions;
import com.amap.api.navi.model.NaviInfo;
import com.mogo.commons.debug.DebugConfig;
@@ -67,7 +66,6 @@ public class AMapViewWrapper implements IMogoMapView,
AMap.OnPOIClickListener,
AMap.OnMapClickListener,
AMap.OnPolylineClickListener,
AMapNaviViewListener,
AMapMessageListener,
AMap.OnCameraChangeListener,
AMap.OnMyLocationChangeListener {
@@ -163,7 +161,10 @@ public class AMapViewWrapper implements IMogoMapView,
// }
// mMapView.setRouteOverlayVisible( false );
// mMapView.setCarOverlayVisible( false );
setUIMode( EnumMapUI.CarUp_2D, null );
changeMapMode( EnumMapUI.CarUp_2D );
changeMapMode( EnumMapUI.Type_Night );
setTrafficEnabled( true );
mMapView.getMap().moveCamera( CameraUpdateFactory.zoomTo( mDefaultZoomLevel ) );
}
private void initListeners() {
@@ -175,7 +176,6 @@ public class AMapViewWrapper implements IMogoMapView,
aMap.setOnMapLoadedListener( this );
aMap.setOnMapTouchListener( this );
aMap.setOnPolylineClickListener( this );
// aMap.setAMapNaviViewListener( this );
aMap.setOnCameraChangeListener( this );
aMap.setOnPOIClickListener( this );
aMap.setOnMapClickListener( this );
@@ -300,85 +300,6 @@ public class AMapViewWrapper implements IMogoMapView,
}
}
@Override
public void onNaviSetting() {
}
@Override
public void onNaviCancel() {
}
@Override
public boolean onNaviBackClick() {
return true;
}
/**
* @param mode 0:车头朝上状态1:正北朝上模式
*/
@Override
public void onNaviMapMode( int mode ) {
Logger.i( TAG, "mode=" + mode );
MogoMapListenerHandler.getInstance().onMapModeChanged( mode == 0 ? EnumMapUI.CarUp_2D : EnumMapUI.NorthUP_2D );
}
@Override
public void onNaviTurnClick() {
}
@Override
public void onNextRoadClick() {
}
@Override
public void onScanViewButtonClick() {
}
@Override
public void onLockMap( boolean isLock ) {
Logger.d( TAG, "lock status = %s", isLock );
mIsCarLocked = isLock;
Trace.beginSection( "timer.onCameraChangeFinish" );
MogoMapListenerHandler.getInstance().onLockMap( isLock );
Trace.endSection();
}
@Override
public void onNaviViewLoaded() {
}
@Override
public void onMapTypeChanged( int type ) {
if ( type == 4 ) {
MogoMapListenerHandler.getInstance().onMapModeChanged( EnumMapUI.Type_Light );
} else if ( type == 3 ) {
MogoMapListenerHandler.getInstance().onMapModeChanged( EnumMapUI.Type_Night );
}
}
@Override
public void onNaviViewShowMode( int i ) {
// long delay = mMapView.getViewOptions().getLockMapDelayed();
// switch ( i ) {
// case AMapNaviViewShowMode.SHOW_MODE_DEFAULT:
// Logger.d( TAG, "普通模式" );
// break;
// case AMapNaviViewShowMode.SHOW_MODE_DISPLAY_OVERVIEW:
// Logger.d( TAG, "全览模式" );
// break;
// case AMapNaviViewShowMode.SHOW_MODE_LOCK_CAR:
// Logger.d( TAG, "锁车模式: %s", delay );
// break;
// }
}
@Override
public void setTrafficEnabled( boolean visible ) {
if ( checkMapView() ) {
@@ -433,56 +354,24 @@ public class AMapViewWrapper implements IMogoMapView,
return;
}
if ( checkMapView() ) {
// AMapNaviViewOptions options = mMapView.getViewOptions();
// if ( options == null ) {
// options = new AMapNaviViewOptions();
// }
// switch ( ui ) {
// case CarUp_2D:
// case CarUp_3D:
// case NorthUP_2D:
// setUIMode( ui, options );
// break;
// case Type_Light:
// mMapView.getMap().setMapType( MapType );
// options.setNaviNight( false );
// break;
// case Type_Night:
// options.setNaviNight( true );
// break;
// case Type_AUTO_LIGHT_Night:
// options.setNaviNight( false );
// options.setAutoNaviViewNightMode( true );
// break;
// }
// mMapView.setViewOptions( options );
}
}
switch ( ui ) {
private void setUIMode( EnumMapUI ui, AMapNaviViewOptions options ) {
this.mCurrentUIMode = ui;
switch ( ui ) {
case CarUp_2D:
case CarUp_3D:
// mMapView.setNaviMode( AMapNaviView.CAR_UP_MODE );
break;
case NorthUP_2D:
// mMapView.setNaviMode( AMapNaviView.NORTH_UP_MODE );
break;
}
Logger.d( TAG, "mCurrentUIMode--->" + mCurrentUIMode.name() );
if ( options == null ) {
return;
}
switch ( ui ) {
case CarUp_2D:
case NorthUP_2D:
options.setTilt( 0 );
break;
case CarUp_3D:
options.setTilt( 60 );
break;
case CarUp_3D:
mMapView.getMap().moveCamera( CameraUpdateFactory.changeTilt( 60 ) );
break;
case NorthUP_2D:
case CarUp_2D:
mMapView.getMap().moveCamera( CameraUpdateFactory.changeTilt( 0 ) );
break;
case Type_Light:
mMapView.getMap().setMapType( AMap.MAP_TYPE_NORMAL );
break;
case Type_Night:
mMapView.getMap().setMapType( AMap.MAP_TYPE_NIGHT );
break;
case Type_AUTO_LIGHT_Night:
break;
}
}
}
@@ -588,7 +477,6 @@ public class AMapViewWrapper implements IMogoMapView,
Logger.d( TAG, Log.getStackTraceString( new Throwable() ) );
}
Logger.d( TAG, "解锁锁车" );
mockTouchEvent();
MyLocationStyle style = mMapView.getMap().getMyLocationStyle();
style.myLocationType( MyLocationStyle.LOCATION_TYPE_FOLLOW_NO_CENTER );
mMapView.getMap().setMyLocationStyle( style );

View File

@@ -37,7 +37,7 @@ public abstract class MogoBaseMapView extends FrameLayout implements ILifeCycle
init( context );
}
private void init( Context context ) {
protected void init( Context context ) {
mMapView = createMapView( context );
if ( mMapView != null ) {
final View mapView = mMapView.getMapView();

View File

@@ -3,9 +3,12 @@ package com.mogo.map;
import android.content.Context;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.amap.api.col.n3.lg;
import com.mogo.map.impl.amap.AMapBaseMapView;
import com.mogo.utils.logger.Logger;
@@ -30,6 +33,11 @@ public class MogoMapView extends AMapBaseMapView implements ILifeCycle {
super( context, attrs, defStyleAttr );
}
@Override
protected void init( Context context ) {
super.init( context );
}
@Override
public IMogoMap getMap() {
return super.getMap();

View File

@@ -32,6 +32,12 @@ android {
sourceCompatibility 1.8
}
sourceSets {
main {
res.srcDirs = ['src/main/res', 'src/main/res-night']
}
}
}
dependencies {

View File

@@ -65,6 +65,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import skin.support.SkinCompatManager;
/**
* @author congtaowang
@@ -165,6 +167,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mUploading = findViewById(R.id.module_entrance_id_uploading);
mUploadRoadCondition.setOnClickListener(view -> {
showShareDialog();
SkinCompatManager.getInstance().loadSkin( "night", SkinCompatManager.SKIN_LOADER_STRATEGY_BUILD_IN );
});
mDisplayOverview = findViewById(R.id.module_ext_id_display_overview);

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<gradient android:angle="135" android:endColor="#cc0000" android:startColor="#ff0000" android:type="linear" />
<corners android:radius="@dimen/module_ext_common_corner" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<gradient android:angle="135" android:endColor="#ee0000" android:startColor="#330000" android:type="linear" />
<corners android:radius="@dimen/module_ext_common_corner" />
</shape>
</item>
</selector>