Commit c5c9915f by Luosp

导航基本完成,需要细节优化

parent 0d0d6e64
package cn.com.founder.arcgislib.widget.navi;
/**
* 描述距离
*/
public class DistanceBean {
public String distanceValue;
public String distanceUnit;
public DistanceBean(String distanceValue, String distanceUnit) {
this.distanceValue = distanceValue;
this.distanceUnit = distanceUnit;
}
@Override
public String toString() {
return "DistanceBean{" +
"distanceValue='" + distanceValue + '\'' +
", distanceUnit='" + distanceUnit + '\'' +
'}';
}
}
package cn.com.founder.arcgislib.widget.navi;
import com.minedata.minenavi.mapdal.LatLng;
/**
* 矩形类
*/
public class GeoRect {
LatLng pointLB;
LatLng pointRT;
public GeoRect() {
this.pointLB = new LatLng(0, 0);
this.pointRT = new LatLng(0, 0);
}
public GeoRect(LatLng pointLB, LatLng pointRT) {
if (pointLB != null && pointRT != null) {
this.pointLB = pointLB;
this.pointRT = pointRT;
} else {
this.pointLB = new LatLng(0, 0);
this.pointRT = new LatLng(0, 0);
}
}
public GeoRect(double left, double top, double right, double bottom) {
this.pointLB = new LatLng(bottom, left);
this.pointRT = new LatLng(top, right);
}
public GeoRect(GeoRect rect) {
if (rect == null) {
this.pointLB = new LatLng(0, 0);
this.pointRT = new LatLng(0, 0);
} else {
this.pointLB = rect.pointLB;
this.pointRT = rect.pointRT;
}
}
public LatLng getPointLB() {
return this.pointLB;
}
public void setPointLB(LatLng pointLB) {
this.pointLB = pointLB;
}
public LatLng getPointRT() {
return this.pointRT;
}
public void setPointRT(LatLng pointRT) {
this.pointRT = pointRT;
}
public double getLeft() {
return this.pointLB.longitude;
}
public double getRight() {
return this.pointRT.longitude;
}
public double getTop() {
return this.pointRT.latitude;
}
public double getBottom() {
return this.pointLB.latitude;
}
public void setLeft(float left) {
this.pointLB.longitude = left;
}
public void setRight(float right) {
this.pointRT.longitude = right;
}
public void setTop(float top) {
this.pointRT.latitude = top;
}
public void setBottom(float bottom) {
this.pointLB.latitude = bottom;
}
public boolean isIntersect(GeoRect rect) {
return Math.min(this.pointLB.longitude, this.pointRT.longitude)
<= Math.max(rect.pointLB.longitude, rect.pointRT.longitude)
&& Math.min(rect.pointLB.longitude, rect.pointRT.longitude)
<= Math.max(this.pointLB.longitude, this.pointRT.longitude)
&& Math.min(this.pointLB.latitude, this.pointRT.latitude)
<= Math.max(rect.pointLB.latitude, rect.pointRT.latitude)
&& Math.min(rect.pointLB.latitude, rect.pointRT.latitude)
<= Math.max(this.pointLB.latitude, this.pointRT.latitude);
}
public String toString() {
return new String("LB:" + this.pointLB.longitude + "," + this.pointLB.latitude
+ "RT:" + this.pointRT.longitude + "," + this.pointRT.latitude);
}
public boolean contains(GeoRect another) {
return this.pointLB.longitude <= another.pointLB.longitude
&& this.pointRT.longitude >= another.pointRT.longitude
&& this.pointLB.latitude <= another.pointLB.latitude
&& this.pointRT.latitude >= another.pointRT.latitude;
}
public boolean contains(int x, int y) {
return this.pointLB.longitude <= x && this.pointRT.longitude >= x
&& this.pointLB.latitude <= y && this.pointRT.latitude >= y;
}
public boolean intersect(GeoRect another) {
return this.intersect(another.pointLB.longitude, another.pointRT.latitude
, another.pointRT.longitude, another.pointLB.latitude);
}
public boolean intersect(double left, double top, double right, double bottom) {
if (this.intersects(left, top, right, bottom)) {
if (this.pointLB.longitude < left) {
this.pointLB.longitude = left;
}
if (this.pointRT.latitude > top) {
this.pointRT.latitude = top;
}
if (this.pointRT.longitude > right) {
this.pointRT.longitude = right;
}
if (this.pointLB.latitude < bottom) {
this.pointLB.latitude = bottom;
}
return true;
} else {
return false;
}
}
public boolean intersects(double left, double top, double right, double bottom) {
return this.pointLB.longitude < right
&& left < this.pointRT.longitude
&& this.pointRT.latitude > bottom
&& top > this.pointLB.latitude;
}
public static boolean intersects(GeoRect a, GeoRect b) {
return a.pointLB.longitude < b.pointRT.longitude
&& b.pointLB.longitude < a.pointRT.longitude
&& a.pointRT.latitude > b.pointLB.latitude
&& b.pointRT.latitude > a.pointLB.latitude;
}
public void extend(GeoRect another) {
if (another != null) {
if (this.pointLB.longitude > another.pointLB.longitude) {
this.pointLB.longitude = another.pointLB.longitude;
}
if (this.pointRT.longitude < another.pointRT.longitude) {
this.pointRT.longitude = another.pointRT.longitude;
}
if (this.pointLB.latitude > another.pointLB.latitude) {
this.pointLB.latitude = another.pointLB.latitude;
}
if (this.pointRT.latitude < another.pointRT.latitude) {
this.pointRT.latitude = another.pointRT.latitude;
}
}
}
public void extend(LatLng point) {
if (point != null) {
if (this.pointLB.longitude > point.longitude) {
this.pointLB.longitude = point.longitude;
}
if (this.pointRT.longitude < point.longitude) {
this.pointRT.longitude = point.longitude;
}
if (this.pointLB.latitude > point.latitude) {
this.pointLB.latitude = point.latitude;
}
if (this.pointRT.latitude < point.latitude) {
this.pointRT.latitude = point.latitude;
}
}
}
public boolean isEmpty() {
return this.pointLB.longitude >= this.pointRT.longitude || this.pointLB.latitude >= this.pointRT.latitude;
}
public double width() {
return this.pointRT.longitude - this.pointLB.longitude;
}
public double height() {
return this.pointRT.latitude - this.pointLB.longitude;
}
public double centerX() {
return (this.pointLB.longitude + this.pointRT.longitude) / 2;
}
public double centerY() {
return (this.pointLB.latitude + this.pointRT.latitude) / 2;
}
public LatLng center() {
return new LatLng(this.centerY(), this.centerX());
}
public boolean equals(Object o) {
if (o != null && o instanceof GeoRect) {
GeoRect another = (GeoRect) o;
if (this.pointLB.equals(another.pointLB) && this.pointRT.equals(another.pointRT)) {
return true;
}
}
return false;
}
}
package cn.com.founder.arcgislib.widget.navi;
import android.graphics.Point;
import com.minedata.minenavi.mapdal.LatLng;
import com.minedata.minenavi.navi.RouteBase;
import java.util.ArrayList;
import java.util.List;
/**
* 路线路况类
*/
public class JamPath {
public List<LatLng> paths;//路径点集合
public int tmcStatus;//路况状态
public JamPath() {
}
public JamPath(List<LatLng> paths, int tmcStatus) {
this.paths = paths;
this.tmcStatus = tmcStatus;
}
public static List<JamPath> convertRouteBaseToJamPath(RouteBase routeBase) {
List<JamPath> jamPaths = new ArrayList<>();
if (routeBase != null) {
int num = routeBase.getSegmentNumber();
for (int i = 0; i < num; i++) {
JamPath jamPath = new JamPath();
List<LatLng> latLngList = new ArrayList<>();
jamPath.tmcStatus = routeBase.getSegmentTmc(i);
Point[] pointArray = routeBase.getSegmentFinePoints(i);
for (Point point : pointArray) {
LatLng latLng = new LatLng((double) point.y / 100000.0D, (double) point.x / 100000.0D);
latLngList.add(latLng);
}
jamPath.paths = latLngList;
jamPaths.add(jamPath);
}
}
return jamPaths;
}
}
package cn.com.founder.arcgislib.widget.navi;
import android.content.Context;
import android.util.AttributeSet;
import com.minedata.minenavi.navi.JunctionView;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
public class MyJunctionView extends JunctionView {
private OnJunctionViewListener onJunctionViewListener;
public MyJunctionView(Context context) {
super(context);
}
public MyJunctionView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
super.onSurfaceCreated(gl, config);
if (onJunctionViewListener != null) {
onJunctionViewListener.onSurfaceCreated(gl, config);
}
}
public void setOnJunctionViewListener(OnJunctionViewListener listener) {
this.onJunctionViewListener = listener;
}
public interface OnJunctionViewListener {
void onSurfaceCreated(GL10 gl, EGLConfig config);
}
}
package cn.com.founder.arcgislib.widget.navi;
import android.graphics.Color;
/**
* 路线的描画式样
*/
public class RouteDrawStyle {
private int blockedColor, heavyColor, mediumColor, lightColor;//路线颜色
private int blockedColorHighLight, heavyColorHighLight, mediumColorHighLight, lightColorHighLight;//高亮路线颜色
private int blockedOutColor, heavyOutColor, mediumOutColor, lightOutColor;//路线描边
private float width, widthOut;
/**
* 设置模式
*/
public void setRouteDrawStyle(RouteStyleE e) {
switch (e) {
case common:
blockedColor = Color.parseColor("#aa1b1b");//严重拥堵
heavyColor = Color.parseColor("#f8b8b8");//拥堵
mediumColor = Color.parseColor("#f2e2ae");//缓慢
lightColor = Color.parseColor("#ade3c8");//通畅
blockedColorHighLight = Color.parseColor("#aa1b1b");//严重拥堵
heavyColorHighLight = Color.parseColor("#f45656");//拥堵
mediumColorHighLight = Color.parseColor("#ffae00");//缓慢
lightColorHighLight = Color.parseColor("#00be4c");//通畅
blockedOutColor = Color.parseColor("#741111");//描边
heavyOutColor = Color.parseColor("#b23434");
mediumOutColor = Color.parseColor("#c28000");
lightOutColor = Color.parseColor("#237042");
width = 6f;
widthOut = 7f;
break;
case lightNavi:
blockedColor = Color.parseColor("#7f060e");//严重拥堵
heavyColor = Color.parseColor("#c03b37");//拥堵
mediumColor = Color.parseColor("#dea927");//缓慢
lightColor = Color.parseColor("#1fab6c");//通畅
blockedColorHighLight = Color.parseColor("#7f060e");//严重拥堵
heavyColorHighLight = Color.parseColor("#c03b37");//拥堵
mediumColorHighLight = Color.parseColor("#dea927");//缓慢
lightColorHighLight = Color.parseColor("#1fab6c");//通畅
blockedOutColor = Color.parseColor("#531418");//描边
heavyOutColor = Color.parseColor("#492326");
mediumOutColor = Color.parseColor("#a26910");
lightOutColor = Color.parseColor("#026948");
width = 7.5f;
widthOut = 8.5f;
break;
case darkNavi:
blockedColor = Color.parseColor("#aa1b1b");//严重拥堵
heavyColor = Color.parseColor("#f45656");//拥堵
mediumColor = Color.parseColor("#ffae00");//缓慢
lightColor = Color.parseColor("#13c768");//通畅
blockedColorHighLight = Color.parseColor("#aa1b1b");//严重拥堵
heavyColorHighLight = Color.parseColor("#f45656");//拥堵
mediumColorHighLight = Color.parseColor("#ffae00");//缓慢
lightColorHighLight = Color.parseColor("#13c768");//通畅
blockedOutColor = Color.parseColor("#741111");//描边
heavyOutColor = Color.parseColor("#b23434");
mediumOutColor = Color.parseColor("#c28000");
lightOutColor = Color.parseColor("#0d7957");
width = 7.5f;
widthOut = 8.5f;
break;
default:
blockedColor = Color.parseColor("#aa1b1b");//严重拥堵
heavyColor = Color.parseColor("#f45656");//拥堵
mediumColor = Color.parseColor("#ffae00");//缓慢
lightColor = Color.parseColor("#00be4c");//通畅
blockedColorHighLight = Color.parseColor("#aa1b1b");//严重拥堵
heavyColorHighLight = Color.parseColor("#f45656");//拥堵
mediumColorHighLight = Color.parseColor("#ffae00");//缓慢
lightColorHighLight = Color.parseColor("#00be4c");//通畅
blockedOutColor = Color.parseColor("#741111");//描边
heavyOutColor = Color.parseColor("#b23434");
mediumOutColor = Color.parseColor("#c28000");
lightOutColor = Color.parseColor("#237042");
width = 6f;
widthOut = 7f;
break;
}
}
public int getBlockedColorHighLight() {
return blockedColorHighLight;
}
public int getHeavyColorHighLight() {
return heavyColorHighLight;
}
public int getLightColorHighLight() {
return lightColorHighLight;
}
public int getMediumColorHighLight() {
return mediumColorHighLight;
}
public int getBlockedColor() {
return blockedColor;
}
public int getHeavyColor() {
return heavyColor;
}
public int getMediumColor() {
return mediumColor;
}
public int getLightColor() {
return lightColor;
}
public int getBlockedOutColor() {
return blockedOutColor;
}
public int getHeavyOutColor() {
return heavyOutColor;
}
public int getMediumOutColor() {
return mediumOutColor;
}
public int getLightOutColor() {
return lightOutColor;
}
public float getWidth() {
return width;
}
public float getWidthOut() {
return widthOut;
}
public enum RouteStyleE {
common, lightNavi, darkNavi
}
}
package cn.com.founder.arcgislib.widget.navi;
import android.content.Context;
import android.graphics.Typeface;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SpannableBuilder {
private Context context;
private List<SpanWrapper> list;
private SpannableBuilder(Context context) {
this.context = context;
this.list = new ArrayList<>();
}
public SpannableBuilder append(String text, int textSize, int textColor) {
return append(text, textSize, textColor, false);
}
public SpannableBuilder append(String text, int textSize, int textColor, boolean isBold) {
list.add(new SpanWrapper(text, textSize, textColor, isBold));
return this;
}
public Spannable build() {
SpannableStringBuilder textSpan = new SpannableStringBuilder();
int start = 0;
int end = 0;
for (int i = 0; i < list.size(); i++) {
SpanWrapper wrapper = list.get(i);
String text = wrapper.getText();
start = end;
end = end + text.length();
textSpan.append(text);
AbsoluteSizeSpan sizeSpan = new AbsoluteSizeSpan(getContext().getResources().getDimensionPixelSize(wrapper.getTextSize()));
ForegroundColorSpan colorSpan = new ForegroundColorSpan(getContext().getResources().getColor(wrapper.getTextColor()));
if (wrapper.isBold) {
textSpan.setSpan(new StyleSpan(Typeface.BOLD), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
textSpan.setSpan(sizeSpan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textSpan.setSpan(colorSpan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return textSpan;
}
public static SpannableBuilder create(Context context) {
return new SpannableBuilder(context);
}
public Context getContext() {
return context;
}
private class SpanWrapper {
String text;
int textSize;
int textColor;
boolean isBold;
public SpanWrapper(String text, int textSize, int textColor, boolean isBold) {
this.text = text;
this.textSize = textSize;
this.textColor = textColor;
this.isBold = isBold;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public int getTextSize() {
return textSize;
}
public void setTextSize(int textSize) {
this.textSize = textSize;
}
public int getTextColor() {
return textColor;
}
public void setTextColor(int textColor) {
this.textColor = textColor;
}
public boolean isBold() {
return isBold;
}
public void setBold(boolean bold) {
isBold = bold;
}
}
public static SpannableString matcherSearchText(int color, String text, String keyword) {
SpannableString ss = new SpannableString(text);
Pattern pattern = Pattern.compile(keyword);
Matcher matcher = pattern.matcher(ss);
while (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
ss.setSpan(new ForegroundColorSpan(color), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return ss;
}
/**
* 高亮显示关键字
*
* @param text 文本
* @param keyword 关键字
* @param color 关键字高亮颜色
*/
public static SpannableString highlightKeyword(CharSequence text, String keyword, int color) {
return highlightKeyword(text, keyword, color, true);
}
/**
* 高亮显示关键字
*
* @param text 文本
* @param keyword 关键字
* @param color 关键字高亮颜色
* @param caseInsensitive 是否忽略大小写
*/
public static SpannableString highlightKeyword(CharSequence text, String keyword, int color, boolean caseInsensitive) {
SpannableString ss = new SpannableString(text);
// 转换后可以把特殊符号变成普通字符串,防止正则表达式出现问题
keyword = Pattern.quote(keyword);
Pattern pattern = caseInsensitive ? Pattern.compile(keyword, Pattern.CASE_INSENSITIVE) : Pattern.compile(keyword);
Matcher matcher = pattern.matcher(ss);
while (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
ss.setSpan(new ForegroundColorSpan(color), start, end, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
}
return ss;
}
public void clear() {
list.clear();
}
}
package cn.com.founder.arcgislib.widget.navi;
/**
* 描述时间
*/
public class TimeBean {
public int hour;
public int minute;
public TimeBean(int hour, int minute) {
this.hour = hour;
this.minute = minute;
}
@Override
public String toString() {
return "TimeBean{" +
"hour=" + hour +
", minute=" + minute +
'}';
}
}
package cn.com.founder.arcgislib.widget.navi;
/**
* 路况类
*/
public class TmcStatus {
public static final int TMC_STATUS_UNKNOWN = 0;
public static final int TMC_STATUS_FREE = 1;
public static final int TMC_STATUS_SLOW = 2;
public static final int TMC_STATUS_HEAVY = 3;
public static final int TMC_STATUS_BLOCK = 4;
public static final int TMC_STATUS_NONE = 5;
private TmcStatus() {
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FF34A42B"/>
<corners android:radius="@dimen/nz_px_4"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="10dip"
/>
<solid android:color="@color/colorHalfTrans"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_navingInfoTopBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/naving_view_corner_bg"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/ll_corner_detail"
android:layout_width="@dimen/nz_px_300"
android:layout_height="260dp"
android:orientation="vertical">
<com.minedata.minenavi.navi.TurnIconView
android:id="@+id/turnIconView"
android:layout_width="@dimen/nz_px_220"
android:layout_height="@dimen/nz_px_220"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="@dimen/nz_px_20"
android:layout_marginTop="@dimen/nz_px_20"
android:layout_marginRight="@dimen/nz_px_20"
android:layout_marginBottom="@dimen/nz_px_20" />
<TextView
android:id="@+id/tv_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/nz_px_30"
android:layout_marginBottom="@dimen/nz_px_10"
android:gravity="center"
android:textColor="#ffffff"
android:textSize="@dimen/nz_px_36"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/ll_timeDistance"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_residualTimeDistance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#ffffff"
android:textSize="@dimen/nz_px_36"
android:textStyle="bold" />
<ImageView
android:id="@+id/iv_bottomTrafficLight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/nz_px_6"
android:src="@drawable/signal_light_horizontal" />
<TextView
android:id="@+id/tv_trafficLightNumber"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/nz_px_6"
android:gravity="center"
android:textColor="#ffffff"
android:textSize="@dimen/nz_px_36"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/tv_arriveTime"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/nz_px_30"
android:cursorVisible="true"
android:gravity="center"
android:textColor="#ffffff"
android:textSize="@dimen/nz_px_36"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_details"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/nz_px_20"
android:layout_weight="1000"
android:gravity="center_vertical"
android:orientation="vertical">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_turnDistance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_turnAction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/tv_turnDistance"
android:layout_marginStart="@dimen/nz_px_14"
android:layout_toRightOf="@id/tv_turnDistance"
android:singleLine="true"
android:textColor="@color/navingViewLinkUpInfoColor"
android:textSize="@dimen/nz_px_36"
android:textStyle="bold" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_guidanceIcon"
android:layout_width="@dimen/nz_px_40"
android:layout_height="@dimen/nz_px_40"
android:layout_marginRight="@dimen/nz_px_20"
android:src="@drawable/navi_launcher"
android:visibility="gone" />
<TextView
android:id="@+id/tv_naving_exit_port"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/nz_px_10"
android:background="@drawable/naving_exit_port_bg"
android:gravity="center"
android:paddingLeft="@dimen/nz_px_5"
android:paddingRight="@dimen/nz_px_5"
android:singleLine="true"
android:text="出口"
android:textColor="#ffffff"
android:textSize="@dimen/nz_px_35"
android:visibility="gone" />
<TextView
android:id="@+id/tv_turnRoadName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="@dimen/nz_px_40" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_junctionViewDecorView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/naving_view_corner_bg"
android:orientation="vertical"
android:gravity="bottom">
<LinearLayout
android:id="@+id/navigation_top_half_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="@dimen/nz_px_40"
android:paddingRight="@dimen/nz_px_40"
android:paddingBottom="@dimen/nz_px_20">
<TextView
android:id="@+id/tv_turnDistanceInJunctionView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="100米"
android:textColor="#ffffff"
android:textSize="@dimen/nz_px_60"
android:textStyle="bold"/>
<com.minedata.minenavi.navi.TurnIconView
android:id="@+id/turnIconViewInJunctionView"
android:layout_width="@dimen/nz_px_80"
android:layout_height="@dimen/nz_px_80"
android:layout_marginLeft="@dimen/nz_px_10"
android:layout_marginRight="@dimen/nz_px_10"/>
<TextView
android:id="@+id/tv_turnActionInJunctionView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="前往"
android:textColor="@color/navingViewLinkUpInfoColor"
android:textSize="@dimen/nz_px_30"
android:textStyle="bold"/>
<TextView
android:id="@+id/tv_turnRoadNameInJunctionView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="北清路"
android:layout_marginStart="@dimen/nz_px_14"
android:textColor="#ffffff"
android:textSize="@dimen/nz_px_40"
android:textStyle="bold"/>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:id="@+id/rl_junctionViewContainer"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/WrapContent.WidthMatchParent">
<include
android:id="@+id/ll_navi_information"
layout="@layout/layout_navi_board"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_margin="@dimen/nz_px_20"
android:visibility="gone" />
<include
android:id="@+id/ll_junctionViewDecorView"
layout="@layout/layout_navi_junction"
android:layout_width="match_parent"
android:layout_height="260dp"
android:layout_margin="@dimen/nz_px_20"
android:visibility="invisible" />
<!-- 车道线 -->
<com.minedata.minenavi.navi.LaneView
android:id="@+id/naviLandBand"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/ll_junctionViewDecorView"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:translationZ="3dp" />
</RelativeLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment