Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
R
ratelvirtuallocation
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ratel-modules
ratelvirtuallocation
Commits
fa87219c
Commit
fa87219c
authored
Apr 19, 2021
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
定位支持搜索
parent
17dc28fd
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
452 additions
and
42 deletions
+452
-42
build.gradle
app/build.gradle
+2
-1
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-0
AboutActivity.java
...op/littlerich/virtuallocation/activity/AboutActivity.java
+1
-1
MainActivity.java
...top/littlerich/virtuallocation/activity/MainActivity.java
+159
-2
PreciseLocationActivity.java
...ich/virtuallocation/activity/PreciseLocationActivity.java
+1
-0
PoiAdapter.java
...va/top/littlerich/virtuallocation/adapter/PoiAdapter.java
+83
-0
AppApplication.java
...top/littlerich/virtuallocation/common/AppApplication.java
+5
-0
activity_main.xml
app/src/main/res/layout/activity_main.xml
+36
-38
item_poi_info.xml
app/src/main/res/layout/item_poi_info.xml
+63
-0
poi_search.xml
app/src/main/res/layout/poi_search.xml
+96
-0
strings.xml
app/src/main/res/values/strings.xml
+3
-0
build.gradle
build.gradle
+1
-0
No files found.
app/build.gradle
View file @
fa87219c
...
...
@@ -55,6 +55,7 @@ dependencies {
implementation
'com.android.support:cardview-v7:28.0.0'
implementation
'com.android.support:recyclerview-v7:28.0.0'
implementation
'com.android.support:design:28.0.0'
compileOnly
'com.virjar:ratel-api:1.3.5'
compileOnly
'com.virjar:ratel-api:1.3.6'
implementation
'liji.library.dev:citypickerview:5.2.4'
implementation
'com.virjar:ratel-extersion:1.0.6'
}
app/src/main/AndroidManifest.xml
View file @
fa87219c
...
...
@@ -15,6 +15,7 @@
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<application
tools:replace=
"android:theme"
android:name=
"top.littlerich.virtuallocation.common.AppApplication"
android:allowBackup=
"true"
android:icon=
"@mipmap/logo_launcher"
...
...
@@ -61,6 +62,7 @@
<activity
android:name=
"top.littlerich.virtuallocation.activity.AppsActivity"
>
</activity>
<activity
android:name=
"com.lljjcoder.style.citylist.CityListSelectActivity"
/>
<provider
android:name=
"top.littlerich.virtuallocation.service.GPSContentProvider"
android:authorities=
"com.virjar.ratel.virtuallocation"
...
...
app/src/main/java/top/littlerich/virtuallocation/activity/AboutActivity.java
View file @
fa87219c
...
...
@@ -43,7 +43,7 @@ public class AboutActivity extends AppCompatActivity {
});
}
public
static
void
openActivity
(
Context
conetxt
){
public
static
void
openActivity
(
Context
conetxt
)
{
Intent
intent
=
new
Intent
(
conetxt
,
AboutActivity
.
class
);
conetxt
.
startActivity
(
intent
);
}
...
...
app/src/main/java/top/littlerich/virtuallocation/activity/MainActivity.java
View file @
fa87219c
...
...
@@ -3,6 +3,7 @@ package top.littlerich.virtuallocation.activity;
import
android.Manifest
;
import
android.app.AlertDialog
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
import
android.location.LocationManager
;
import
android.os.Bundle
;
...
...
@@ -10,13 +11,20 @@ import android.os.Handler;
import
android.os.Looper
;
import
android.support.annotation.NonNull
;
import
android.support.v4.widget.DrawerLayout
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.animation.Animation
;
import
android.view.animation.AnimationUtils
;
import
android.view.animation.LinearInterpolator
;
import
android.widget.Button
;
import
android.widget.EditText
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
android.widget.Toast
;
...
...
@@ -35,10 +43,24 @@ import com.baidu.mapapi.map.MarkerOptions;
import
com.baidu.mapapi.map.MyLocationConfiguration
;
import
com.baidu.mapapi.map.OverlayOptions
;
import
com.baidu.mapapi.model.LatLng
;
import
com.baidu.mapapi.search.core.PoiInfo
;
import
com.baidu.mapapi.search.core.SearchResult
;
import
com.baidu.mapapi.search.geocode.GeoCoder
;
import
com.baidu.mapapi.search.geocode.ReverseGeoCodeOption
;
import
com.baidu.mapapi.search.poi.OnGetPoiSearchResultListener
;
import
com.baidu.mapapi.search.poi.PoiCitySearchOption
;
import
com.baidu.mapapi.search.poi.PoiDetailResult
;
import
com.baidu.mapapi.search.poi.PoiDetailSearchResult
;
import
com.baidu.mapapi.search.poi.PoiIndoorResult
;
import
com.baidu.mapapi.search.poi.PoiResult
;
import
com.baidu.mapapi.search.poi.PoiSearch
;
import
com.lljjcoder.style.citylist.CityListSelectActivity
;
import
com.lljjcoder.style.citylist.bean.CityInfoBean
;
import
com.virjar.ratel.virtuallocation.R
;
import
java.util.ArrayList
;
import
top.littlerich.virtuallocation.adapter.PoiAdapter
;
import
top.littlerich.virtuallocation.base.BaseActivity
;
import
top.littlerich.virtuallocation.common.AppApplication
;
import
top.littlerich.virtuallocation.listener.AsyncLocationResultListener
;
...
...
@@ -71,7 +93,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
private
MapView
mMapView
;
private
static
BaiduMap
mBaiduMap
;
// 初始化全局 bitmap 信息,不用时及时 recycle
private
BitmapDescriptor
bd
=
null
;
//= BitmapDescriptorFactory.fromResource(R.mipmap.icon_gcoding);
private
BitmapDescriptor
bd
=
null
;
//= BitmapDescriptorFactory.fromResource(R.mipmap.icon_gcoding);
private
static
Marker
mMarker
;
private
static
LatLng
curLatlng
;
private
static
GeoCoder
mSearch
;
...
...
@@ -84,6 +106,17 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
private
TextView
mAddProcess
;
private
ImageView
mStopMock
;
private
LinearLayout
poiSearchContainer
;
private
Button
poiSearchCancelBtn
;
//private ImageView poiSearchCancelImage;
private
EditText
poiSearchEditText
;
private
static
PoiSearch
mPoiSearch
;
private
Button
poiSearchChangeCityBtn
;
private
TextView
poiSearchCityTextView
;
private
RecyclerView
mRecyclerView
;
private
LinearLayoutManager
mLayoutManager
;
private
PoiAdapter
mPoiAdapter
;
@Override
protected
Object
getContentViewId
()
{
return
R
.
layout
.
layout_schema
;
...
...
@@ -148,6 +181,31 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
mMapView
.
removeViewAt
(
1
);
// 定位初始化
mLocClient
=
new
LocationClient
(
this
);
poiSearchContainer
=
findViewById
(
R
.
id
.
poi_search
);
poiSearchCancelBtn
=
findViewById
(
R
.
id
.
poi_search_btn_cancel
);
poiSearchEditText
=
findViewById
(
R
.
id
.
poi_search_edit
);
poiSearchChangeCityBtn
=
findViewById
(
R
.
id
.
poi_search_change_city_btn
);
poiSearchCityTextView
=
findViewById
(
R
.
id
.
poi_search_city
);
//poiSearchCancelImage = findViewById(R.id.poi_search_img_cancel);
//创建默认的线性LayoutManager
mRecyclerView
=
findViewById
(
R
.
id
.
poi_search_recycler_view
);
mLayoutManager
=
new
LinearLayoutManager
(
this
);
mRecyclerView
.
setLayoutManager
(
mLayoutManager
);
//如果可以确定每个item的高度是固定的,设置这个选项可以提高性能
mRecyclerView
.
setHasFixedSize
(
true
);
//创建并设置Adapter
mPoiAdapter
=
new
PoiAdapter
(
new
PoiAdapter
.
PoiClickListener
()
{
@Override
public
void
onPoiClick
(
PoiInfo
poiInfo
)
{
poiSearchContainer
.
setVisibility
(
View
.
GONE
);
setCurrentMapLatLng
(
poiInfo
.
location
);
}
});
mRecyclerView
.
setAdapter
(
mPoiAdapter
);
}
@Override
...
...
@@ -173,6 +231,9 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
@Override
public
void
rightClick
(
View
v
)
{
//mSearch.geocode()
// mSearch.geocode()
poiSearchContainer
.
setVisibility
(
View
.
VISIBLE
);
poiSearchEditText
.
requestFocus
();
}
});
mAboutAuthor
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
...
...
@@ -222,8 +283,72 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
}
});
View
.
OnClickListener
cancelPoiSearch
=
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
poiSearchContainer
.
setVisibility
(
View
.
GONE
);
}
};
poiSearchCancelBtn
.
setOnClickListener
(
cancelPoiSearch
);
// poiSearchCancelImage.setOnClickListener(cancelPoiSearch);
poiSearchEditText
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
charSequence
,
int
i
,
int
i1
,
int
i2
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
charSequence
,
int
i
,
int
i1
,
int
i2
)
{
}
@Override
public
void
afterTextChanged
(
Editable
editable
)
{
beginSearch
(
editable
);
}
});
mPoiSearch
=
PoiSearch
.
newInstance
();
mPoiSearch
.
setOnGetPoiSearchResultListener
(
new
OnGetPoiSearchResultListener
()
{
@Override
public
void
onGetPoiResult
(
PoiResult
poiResult
)
{
if
(
poiResult
.
error
!=
SearchResult
.
ERRORNO
.
NO_ERROR
)
{
Toast
.
makeText
(
MainActivity
.
this
,
"无结果:"
+
poiResult
.
error
,
Toast
.
LENGTH_SHORT
).
show
();
return
;
}
mPoiAdapter
.
setData
(
poiResult
.
getAllPoi
());
}
@Override
public
void
onGetPoiDetailResult
(
PoiDetailResult
poiDetailResult
)
{
}
@Override
public
void
onGetPoiDetailResult
(
PoiDetailSearchResult
poiDetailSearchResult
)
{
}
@Override
public
void
onGetPoiIndoorResult
(
PoiIndoorResult
poiIndoorResult
)
{
}
});
poiSearchChangeCityBtn
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
Intent
intent
=
new
Intent
(
MainActivity
.
this
,
CityListSelectActivity
.
class
);
startActivityForResult
(
intent
,
CityListSelectActivity
.
CITY_SELECT_RESULT_FRAG
);
}
});
}
@Override
protected
void
IniData
()
{
iniMap
();
...
...
@@ -231,7 +356,6 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
mCurrentLocation
.
startAnimation
(
mOperatingAnim
);
}
}
...
...
@@ -385,4 +509,37 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
}
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
CityListSelectActivity
.
CITY_SELECT_RESULT_FRAG
)
{
if
(
resultCode
==
RESULT_OK
)
{
if
(
data
==
null
)
{
return
;
}
Bundle
bundle
=
data
.
getExtras
();
CityInfoBean
cityInfoBean
=
(
CityInfoBean
)
bundle
.
getParcelable
(
"cityinfo"
);
if
(
null
==
cityInfoBean
)
{
return
;
}
poiSearchCityTextView
.
setText
(
cityInfoBean
.
getName
());
beginSearch
(
poiSearchEditText
.
getText
());
}
}
}
private
void
beginSearch
(
Editable
editable
)
{
String
keywords
=
editable
.
toString
();
if
(
TextUtils
.
isEmpty
(
keywords
))
{
mPoiAdapter
.
setData
(
new
ArrayList
<
PoiInfo
>());
//Toast.makeText(MainActivity.this, "请输入关键词", Toast.LENGTH_SHORT).show();
return
;
}
mPoiSearch
.
searchInCity
(
new
PoiCitySearchOption
().
city
(
poiSearchCityTextView
.
getText
().
toString
())
.
keyword
(
editable
.
toString
())
);
}
}
\ No newline at end of file
app/src/main/java/top/littlerich/virtuallocation/activity/PreciseLocationActivity.java
View file @
fa87219c
...
...
@@ -159,6 +159,7 @@ public class PreciseLocationActivity extends AppCompatActivity {
mBeginLocation
.
setVisibility
(
View
.
GONE
);
mPbLocating
.
setVisibility
(
View
.
VISIBLE
);
progressAnimator
(
mPbLocating
);
}
@Override
...
...
app/src/main/java/top/littlerich/virtuallocation/adapter/PoiAdapter.java
0 → 100644
View file @
fa87219c
package
top
.
littlerich
.
virtuallocation
.
adapter
;
import
android.support.annotation.NonNull
;
import
android.support.v7.widget.RecyclerView
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
com.baidu.mapapi.model.LatLng
;
import
com.baidu.mapapi.search.core.PoiInfo
;
import
com.virjar.ratel.virtuallocation.R
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
PoiAdapter
extends
RecyclerView
.
Adapter
<
PoiAdapter
.
ViewHolder
>
{
List
<
PoiInfo
>
mListData
=
new
ArrayList
<
PoiInfo
>();
private
PoiClickListener
poiClickListener
;
public
PoiAdapter
(
PoiClickListener
poiClickListener
)
{
this
.
poiClickListener
=
poiClickListener
;
}
public
interface
PoiClickListener
{
void
onPoiClick
(
PoiInfo
poiInfo
);
}
@NonNull
@Override
public
ViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
i
)
{
final
View
view
=
LayoutInflater
.
from
(
parent
.
getContext
()).
inflate
(
R
.
layout
.
item_poi_info
,
parent
,
false
);
view
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
Object
tag
=
view
.
getTag
();
if
(
tag
instanceof
PoiInfo
)
{
poiClickListener
.
onPoiClick
((
PoiInfo
)
tag
);
}
}
});
return
new
ViewHolder
(
view
);
}
@Override
public
void
onBindViewHolder
(
@NonNull
ViewHolder
holder
,
int
position
)
{
PoiInfo
myAppInfo
=
mListData
.
get
(
position
);
holder
.
tx_name
.
setText
(
myAppInfo
.
name
);
holder
.
tx_addr
.
setText
(
myAppInfo
.
getAddress
());
LatLng
location
=
myAppInfo
.
getLocation
();
String
latLngStr
=
location
.
latitude
+
","
+
location
.
longitude
;
holder
.
tx_lat_lng
.
setText
(
latLngStr
);
holder
.
myPoiInfo
=
myAppInfo
;
holder
.
itemView
.
setTag
(
myAppInfo
);
}
@Override
public
int
getItemCount
()
{
return
mListData
!=
null
?
mListData
.
size
()
:
0
;
}
public
void
setData
(
List
<
PoiInfo
>
myAppInfos
)
{
this
.
mListData
=
myAppInfos
;
notifyDataSetChanged
();
}
public
static
class
ViewHolder
extends
RecyclerView
.
ViewHolder
{
TextView
tx_name
;
TextView
tx_addr
;
TextView
tx_lat_lng
;
PoiInfo
myPoiInfo
;
public
ViewHolder
(
View
itemView
)
{
super
(
itemView
);
tx_name
=
itemView
.
findViewById
(
R
.
id
.
tv_poi_name
);
tx_addr
=
itemView
.
findViewById
(
R
.
id
.
tv_poi_addr
);
tx_lat_lng
=
itemView
.
findViewById
(
R
.
id
.
tv_poi_latlng
);
}
}
}
app/src/main/java/top/littlerich/virtuallocation/common/AppApplication.java
View file @
fa87219c
...
...
@@ -12,6 +12,7 @@ import android.util.Log;
import
com.baidu.mapapi.CoordType
;
import
com.baidu.mapapi.SDKInitializer
;
import
com.lljjcoder.style.citylist.utils.CityListLoader
;
import
org.json.JSONObject
;
...
...
@@ -53,6 +54,10 @@ public class AppApplication extends Application {
SDKInitializer
.
setCoordType
(
CoordType
.
GCJ02
);
}
/**
* 预先加载一级列表显示 全国所有城市市的数据
*/
CityListLoader
.
getInstance
().
loadCityData
(
this
);
}
...
...
app/src/main/res/layout/activity_main.xml
View file @
fa87219c
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:custom=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
xmlns:custom=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<com.baidu.mapapi.map.MapView
android:id=
"@+id/bmapView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:clickable=
"true"
/>
android:clickable=
"true"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<android.support.v7.widget.CardView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
custom:cardElevation=
"8dp"
>
custom:cardElevation=
"8dp"
>
<top.littlerich.virtuallocation.view.TopBanner
android:id=
"@+id/topbanner"
...
...
@@ -33,7 +31,7 @@
custom:leftButtonWidth=
"20dp"
custom:rightButtonBackground=
"@mipmap/ic_topbar_search"
custom:titleText=
"@string/app_name"
custom:titleTextColors=
"#c1030303"
/>
custom:titleTextColors=
"#c1030303"
/>
</android.support.v7.widget.CardView>
...
...
@@ -46,13 +44,12 @@
android:drawableLeft=
"@mipmap/ic_virtual_addr"
android:drawablePadding=
"7dp"
android:gravity=
"center_vertical"
android:paddingBottom=
"10dp"
android:paddingLeft=
"15dp"
android:paddingRight=
"15dp"
android:paddingTop=
"10dp"
android:paddingRight=
"15dp"
android:paddingBottom=
"10dp"
android:text=
"伪造地址"
android:textColor=
"#ff665e"
/>
android:textColor=
"#ff665e"
/>
</LinearLayout>
...
...
@@ -64,43 +61,41 @@
android:background=
"@drawable/bg_botton_shadow"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
android:paddingBottom=
"25dp"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
>
android:paddingBottom=
"25dp"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
android:layout_marginTop=
"13dp"
>
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/iv_location"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:background=
"@drawable/bg_with_round"
android:padding=
"10dp"
android:src=
"@mipmap/ic_current_location"
/>
android:src=
"@mipmap/ic_current_location"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"定位"
android:layout_margin=
"4dp"
android:layout_gravity=
"center_horizontal"
android:textSize=
"13sp"
android:layout_margin=
"4dp"
android:text=
"定位"
android:textColor=
"#423f24"
/>
android:textSize=
"13sp"
/>
</LinearLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
>
android:gravity=
"center"
>
<Button
android:id=
"@+id/bt_Ok"
android:layout_width=
"100dp"
...
...
@@ -109,17 +104,16 @@
android:layout_margin=
"10dp"
android:background=
"@drawable/bg_begin_location"
android:text=
"立即穿越"
android:textColor=
"#fbd12d"
/>
android:textColor=
"#fbd12d"
/>
</RelativeLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
android:layout_marginTop=
"13dp"
>
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/iv_stop_location"
android:layout_width=
"50dp"
...
...
@@ -127,17 +121,16 @@
android:background=
"@drawable/bg_with_round"
android:clickable=
"true"
android:padding=
"10dp"
android:src=
"@mipmap/ic_stop_location"
/>
android:src=
"@mipmap/ic_stop_location"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"重置"
android:layout_margin=
"4dp"
android:layout_gravity=
"center_horizontal"
android:textSize=
"13sp"
android:layout_margin=
"4dp"
android:text=
"重置"
android:textColor=
"#423f24"
/>
android:textSize=
"13sp"
/>
</LinearLayout>
</LinearLayout>
...
...
@@ -145,7 +138,12 @@
android:layout_width=
"250dp"
android:layout_height=
"250dp"
android:layout_gravity=
"center"
android:layout_margin=
"15dp"
/>
android:layout_margin=
"15dp"
/>
<include
android:id=
"@+id/poi_search"
layout=
"@layout/poi_search"
android:visibility=
"gone"
/>
</FrameLayout>
\ No newline at end of file
app/src/main/res/layout/item_poi_info.xml
0 → 100644
View file @
fa87219c
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:background=
"#cccaca"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"80dp"
>
<ImageView
android:id=
"@+id/iv_app_icon"
android:layout_width=
"35dp"
android:layout_height=
"35dp"
android:layout_alignParentLeft=
"true"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"10dp"
android:src=
"@mipmap/ic_current_location"
/>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"12dp"
android:layout_marginRight=
"12dp"
android:layout_toRightOf=
"@id/iv_app_icon"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_poi_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"5dp"
android:text=
"@string/poi_sample_name"
android:textSize=
"18sp"
/>
<TextView
android:id=
"@+id/tv_poi_addr"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"5dp"
android:singleLine=
"true"
android:text=
"@string/poi_sample_addr"
/>
<TextView
android:id=
"@+id/tv_poi_latlng"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"5dp"
android:singleLine=
"true"
android:text=
"@string/poi_sample_latlng"
android:textSize=
"12sp"
/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/poi_search.xml
0 → 100644
View file @
fa87219c
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:custom=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#DDFFFFFF"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"50dp"
android:orientation=
"horizontal"
>
<Button
android:id=
"@+id/poi_search_change_city_btn"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"#FF9999"
android:padding=
"10dp"
android:text=
"城市(点我修改):"
android:textSize=
"18dp"
/>
<TextView
android:id=
"@+id/poi_search_city"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"15dp"
android:text=
"北京"
android:textSize=
"24dp"
/>
</LinearLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<Button
android:id=
"@+id/poi_search_btn_cancel"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentEnd=
"true"
android:text=
"取消"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_toStartOf=
"@id/poi_search_btn_cancel"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/poi_search_lab_key"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"关键词"
/>
<EditText
android:id=
"@+id/poi_search_edit"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:autofillHints=
"请输入关键词"
android:inputType=
"text"
android:labelFor=
"@id/poi_search_lab_key"
/>
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/poi_search_recycler_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:scrollbars=
"vertical"
/>
<ProgressBar
android:id=
"@+id/pid_search_pb_progressbar"
android:layout_width=
"65dp"
android:layout_height=
"65dp"
android:layout_centerInParent=
"true"
android:indeterminateDrawable=
"@drawable/bg_progressbar"
android:visibility=
"gone"
/>
/>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
fa87219c
...
...
@@ -3,4 +3,7 @@
<string
name=
"app_introduce"
>
筋斗云是一款虚拟定位软件,让你随心所欲的改变手机地理位置!本项目改造自:https://github.com/littleRich/VirtualLocation
</string>
<string
name=
"app_version_copyright"
>
当前版本:1.0.0(build 20200827) \n@2017 ratel.virjar.com All right reserved
</string>
<string
name=
"item_application_name"
>
应用程序名
</string>
<string
name=
"poi_sample_name"
>
中国石化加油站(建材城西路站)
</string>
<string
name=
"poi_sample_addr"
>
北京市海淀区建材城西路2号
</string>
<string
name=
"poi_sample_latlng"
>
40.06174453910131,116.36035663970246
</string>
</resources>
build.gradle
View file @
fa87219c
...
...
@@ -45,6 +45,7 @@ allprojects {
name
"aliyunGoogle"
url
"https://maven.aliyun.com/repository/google"
}
maven
{
url
"https://jitpack.io"
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment