根据类别搜索
This commit is contained in:
1
.idea/.name
generated
1
.idea/.name
generated
@@ -1 +0,0 @@
|
||||
MogoLauncher
|
||||
116
.idea/codeStyles/Project.xml
generated
116
.idea/codeStyles/Project.xml
generated
@@ -1,116 +0,0 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<codeStyleSettings language="XML">
|
||||
<indentOptions>
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||
</indentOptions>
|
||||
<arrangement>
|
||||
<rules>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:android</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:id</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>style</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
</rules>
|
||||
</arrangement>
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
39
.idea/gradle.xml
generated
39
.idea/gradle.xml
generated
@@ -1,39 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
<option value="$PROJECT_DIR$/foudations" />
|
||||
<option value="$PROJECT_DIR$/foudations/mogo-commons" />
|
||||
<option value="$PROJECT_DIR$/foudations/mogo-connection" />
|
||||
<option value="$PROJECT_DIR$/foudations/mogo-utils" />
|
||||
<option value="$PROJECT_DIR$/libraries" />
|
||||
<option value="$PROJECT_DIR$/libraries/map-amap" />
|
||||
<option value="$PROJECT_DIR$/libraries/mogo-map" />
|
||||
<option value="$PROJECT_DIR$/libraries/mogo-map-api" />
|
||||
<option value="$PROJECT_DIR$/modules" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-apps" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-common" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-extensions" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-main" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-map" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-search" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-service" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-tanlu" />
|
||||
<option value="$PROJECT_DIR$/services" />
|
||||
<option value="$PROJECT_DIR$/services/mogo-service" />
|
||||
<option value="$PROJECT_DIR$/services/mogo-service-api" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
<option name="testRunner" value="PLATFORM" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
14
.idea/misc.xml
generated
14
.idea/misc.xml
generated
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeSettings">
|
||||
<configurations>
|
||||
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
|
||||
</configurations>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="Android" />
|
||||
</component>
|
||||
</project>
|
||||
12
.idea/runConfigurations.xml
generated
12
.idea/runConfigurations.xml
generated
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RunConfigurationProducerService">
|
||||
<option name="ignoredProducers">
|
||||
<set>
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -16,6 +16,7 @@ ext {
|
||||
androidxmultidex : "androidx.multidex:multidex:2.0.1",
|
||||
androidxviewpager2 : "androidx.viewpager2:viewpager2:1.0.0",
|
||||
androidxrecyclerview : "androidx.recyclerview:recyclerview:1.1.0",
|
||||
androidxcardview : "androidx.cardview:cardview:1.0.0",
|
||||
// 测试
|
||||
junit : "junit:junit:4.12",
|
||||
androidxjunit : "androidx.test.ext:junit:1.1.0",
|
||||
|
||||
@@ -58,6 +58,12 @@ public class MogoModulePaths {
|
||||
public static final String PATH_FRAGMENT_SEARCH = "/navi/search";
|
||||
|
||||
|
||||
/**
|
||||
* 按类别搜索 fragment
|
||||
*/
|
||||
@Keep
|
||||
public static final String PATH_FRAGMENT_SEARCH_CATEGORY = "/navi/search/category";
|
||||
|
||||
|
||||
/**
|
||||
* 设置 fragment
|
||||
|
||||
@@ -50,6 +50,7 @@ dependencies {
|
||||
kapt rootProject.ext.dependencies.roomAnnotationProcessor
|
||||
implementation rootProject.ext.dependencies.roomRxjava
|
||||
implementation rootProject.ext.dependencies.androidxrecyclerview
|
||||
implementation rootProject.ext.dependencies.androidxcardview
|
||||
kapt rootProject.ext.dependencies.aroutercompiler
|
||||
// implementation rootProject.ext.dependencies.jetbrainsannotationsjava5
|
||||
implementation rootProject.ext.dependencies.rxandroid
|
||||
|
||||
@@ -14,6 +14,13 @@ public class AMapConstants {
|
||||
*/
|
||||
public static final float AMAP_ZOOM_COMMON_LEVEL = 15.0f;
|
||||
|
||||
|
||||
/**
|
||||
* 设置家和公司的Key
|
||||
*/
|
||||
public static final String KEY_SET_HOME_COMPONY = "key_home";
|
||||
|
||||
|
||||
/**
|
||||
* 点击当前位置按钮的地图缩放级别
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.mogo.module.navi.ui.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import com.mogo.map.search.inputtips.MogoTip;
|
||||
import com.mogo.module.navi.R;
|
||||
import com.mogo.module.navi.ui.adapter.base.RecycleBaseAdapter;
|
||||
import com.mogo.module.navi.ui.adapter.base.RecycleViewHolder;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zyz
|
||||
* 2019-08-13.
|
||||
*/
|
||||
public class SearchCategoryAdapter extends RecycleBaseAdapter<MogoTip> {
|
||||
|
||||
private int current = 0;
|
||||
private int lastPosition = 0;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public SearchCategoryAdapter(Context context, List<MogoTip> list) {
|
||||
super(context, list, R.layout.item_search_category);
|
||||
}
|
||||
|
||||
private boolean mShowDelete = false;
|
||||
|
||||
private View.OnClickListener onClickListener;
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(RecycleViewHolder holder, MogoTip tip) {
|
||||
|
||||
holder.setText(R.id.tv_position, tip.getName());
|
||||
holder.setText(R.id.tv_position_des, tip.getAddress());
|
||||
|
||||
holder.setText(R.id.iv_position,String.valueOf(holder.getLayoutPosition()+1));
|
||||
holder.itemView.setTag(R.id.tag_position, holder.getLayoutPosition());
|
||||
holder.itemView.setOnClickListener(onClickListener);
|
||||
holder.itemView.setSelected(current == holder.getLayoutPosition());
|
||||
}
|
||||
|
||||
public void setOnClickListener(View.OnClickListener onClickListener) {
|
||||
this.onClickListener = onClickListener;
|
||||
}
|
||||
|
||||
public void setShowDelete(boolean showDelete) {
|
||||
this.mShowDelete = showDelete;
|
||||
}
|
||||
|
||||
public void refresh(List<MogoTip> datums, boolean showDelete) {
|
||||
//this.da = datums;
|
||||
setShowDelete(showDelete);
|
||||
setDatas(datums);
|
||||
//notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void setCurrent(int current) {
|
||||
this.current = current;
|
||||
notifyItemChanged(lastPosition);
|
||||
notifyItemChanged(current);
|
||||
lastPosition = current;
|
||||
}
|
||||
}
|
||||
@@ -92,6 +92,12 @@ public abstract class RecycleBaseAdapter<T> extends
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
public void clear(){
|
||||
if (list != null) {
|
||||
list.clear();
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
public void messageShow(String mes)
|
||||
{
|
||||
if (toast==null){
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
package com.mogo.module.navi.ui.search
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.mogo.map.search.inputtips.MogoTip
|
||||
import com.mogo.module.navi.R
|
||||
import com.mogo.module.navi.bean.SearchPoi
|
||||
import com.mogo.module.navi.constants.SearchServiceHolder
|
||||
import com.mogo.module.navi.ui.adapter.SearchCategoryAdapter
|
||||
import kotlinx.android.synthetic.main.fragment_search_category.cv_search_result
|
||||
import kotlinx.android.synthetic.main.fragment_search_category.tv_navi_navi
|
||||
import kotlinx.android.synthetic.main.fragment_setting_address.rv_search_result
|
||||
import kotlinx.android.synthetic.main.include_search_bar.et_navi_search
|
||||
import kotlinx.android.synthetic.main.include_search_bar.iv_navi_back
|
||||
|
||||
/**
|
||||
* @author zyz
|
||||
* 2020-01-09.
|
||||
*/
|
||||
class CategorySearchFragment : BaseSearchFragment() {
|
||||
|
||||
private lateinit var mAdapter: SearchCategoryAdapter
|
||||
|
||||
private var category:String?=null
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
category=arguments?.getString("category")
|
||||
}
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.fragment_search_category
|
||||
}
|
||||
|
||||
override fun onViewCreated(
|
||||
view: View,
|
||||
savedInstanceState: Bundle?
|
||||
) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
mAdapter = SearchCategoryAdapter(activity, ArrayList())
|
||||
|
||||
rv_search_result.layoutManager =
|
||||
LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false)
|
||||
|
||||
rv_search_result.adapter = mAdapter
|
||||
|
||||
et_navi_search.setText(category)
|
||||
|
||||
|
||||
iv_navi_back.setOnClickListener {
|
||||
SearchServiceHolder.fragmentManager.pop()
|
||||
}
|
||||
|
||||
tv_navi_navi.setOnClickListener {
|
||||
|
||||
}
|
||||
mAdapter.setOnClickListener {
|
||||
var position = it.getTag(R.id.tag_position) as Int
|
||||
mAdapter.setCurrent(position)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||
super.onActivityCreated(savedInstanceState)
|
||||
mSearchPresenter.startSearchPoiByInput(category)
|
||||
|
||||
}
|
||||
override fun renderSearchPoiResult(
|
||||
datums: List<MogoTip>,
|
||||
showDelete: Boolean
|
||||
) {
|
||||
|
||||
mAdapter.setDatas(datums)
|
||||
cv_search_result.visibility=View.VISIBLE
|
||||
|
||||
}
|
||||
|
||||
override fun showHistory(datums: List<SearchPoi>) {
|
||||
|
||||
}
|
||||
|
||||
companion object{
|
||||
fun newInstance( category:String):Fragment{
|
||||
var bundle = Bundle()
|
||||
bundle.putString("category",category)
|
||||
var categorySerachFragment = CategorySearchFragment()
|
||||
categorySerachFragment.arguments=bundle
|
||||
return categorySerachFragment
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,38 +1,27 @@
|
||||
package com.mogo.module.navi.ui.search;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.map.search.inputtips.MogoTip;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.module.navi.R;
|
||||
import com.mogo.module.navi.bean.EntityConvertUtils;
|
||||
import com.mogo.module.navi.bean.SearchPoi;
|
||||
import com.mogo.module.navi.database.AppDataBase;
|
||||
import com.mogo.module.navi.constants.SearchServiceHolder;
|
||||
import com.mogo.module.navi.ui.adapter.HistoryPoiAdapter;
|
||||
import com.mogo.module.navi.ui.adapter.SearchPoiAdapter;
|
||||
import com.mogo.module.navi.ui.base.BaseFragment;
|
||||
import com.mogo.module.navi.ui.base.UiController;
|
||||
import com.mogo.module.navi.ui.setting.NaviSettingFragment;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.module.navi.ui.setting.SettingAddressFragment;
|
||||
import com.mogo.service.fragmentmanager.FragmentDescriptor;
|
||||
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
|
||||
import com.mogo.utils.WindowUtils;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -47,13 +36,12 @@ import java.util.List;
|
||||
* {@link SearchConstants#SEARCH_TYPE_MULTI_HOME}
|
||||
*/
|
||||
@Route(path = MogoModulePaths.PATH_FRAGMENT_SEARCH)
|
||||
public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
public class SearchFragment extends BaseSearchFragment implements SearchView, View.OnClickListener {
|
||||
|
||||
public static final String TAG = "search";
|
||||
|
||||
public int mSearchType;
|
||||
|
||||
|
||||
private View mClose;
|
||||
|
||||
private RecyclerView mSearchResult;
|
||||
@@ -61,7 +49,6 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
private SearchPoiAdapter mPoiAdapter;
|
||||
private HistoryPoiAdapter mHistoryAdapter;
|
||||
|
||||
|
||||
/**
|
||||
* 设置常用地址(我的位置、选点)时的设置按钮
|
||||
*/
|
||||
@@ -73,7 +60,6 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
private boolean mActionSuccess = false;
|
||||
private View rlHistory;
|
||||
private TextView tvEmpty;
|
||||
IMogoFragmentManager fragmentManager;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
@@ -84,7 +70,6 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
|
||||
@Override public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
fragmentManager = (IMogoFragmentManager) ARouter.getInstance().build(MogoServicePaths.PATH_FRAGMENT_MANAGER).navigation();
|
||||
|
||||
}
|
||||
|
||||
@@ -111,17 +96,17 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
|
||||
mSearchResult.setLayoutManager(linearLayoutManager);
|
||||
|
||||
mPoiAdapter= new SearchPoiAdapter(getActivity(),new ArrayList<>());
|
||||
mPoiAdapter = new SearchPoiAdapter(getActivity(), new ArrayList<>());
|
||||
mSearchResult.setAdapter(mPoiAdapter);
|
||||
|
||||
mHistoryAdapter= new HistoryPoiAdapter(getActivity(),new ArrayList<>());
|
||||
mHistoryAdapter = new HistoryPoiAdapter(getActivity(), new ArrayList<>());
|
||||
rvHistory.setAdapter(mHistoryAdapter);
|
||||
|
||||
tvEmpty = findViewById(R.id.tv_navi_list_empty);
|
||||
|
||||
findViewById(R.id.iv_navi_back).setOnClickListener(new View.OnClickListener() {
|
||||
@Override public void onClick(View v) {
|
||||
fragmentManager.pop();
|
||||
SearchServiceHolder.INSTANCE.getFragmentManager().pop();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -139,7 +124,6 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
findViewById(R.id.tv_navi_history_clear).setOnClickListener(new View.OnClickListener() {
|
||||
@Override public void onClick(View v) {
|
||||
mSearchPresenter.deleteAllCachedPoi();
|
||||
@@ -148,14 +132,44 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
|
||||
findViewById(R.id.tv_navi_setting).setOnClickListener(new View.OnClickListener() {
|
||||
@Override public void onClick(View v) {
|
||||
FragmentDescriptor.Builder builder = new FragmentDescriptor.Builder();
|
||||
builder.fragment(new NaviSettingFragment());
|
||||
FragmentDescriptor build =
|
||||
builder.tag(MogoModulePaths.PATH_FRAGMENT_SETTING).build();
|
||||
fragmentManager.push(build);
|
||||
push(new NaviSettingFragment(),MogoModulePaths.PATH_FRAGMENT_SETTING);
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.tv_navi_company).setOnClickListener(new View.OnClickListener() {
|
||||
@Override public void onClick(View v) {
|
||||
pupSettingAddress(1);
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.tv_navi_home).setOnClickListener(new View.OnClickListener() {
|
||||
@Override public void onClick(View v) {
|
||||
pupSettingAddress(0);
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.tv_navi_wash).setOnClickListener(this);
|
||||
findViewById(R.id.tv_navi_toilet).setOnClickListener(this);
|
||||
findViewById(R.id.tv_navi_gas).setOnClickListener(this);
|
||||
findViewById(R.id.tv_navi_restaurant).setOnClickListener(this);
|
||||
findViewById(R.id.tv_navi_park).setOnClickListener(this);
|
||||
}
|
||||
|
||||
private void push(Fragment fragment,String tag) {
|
||||
FragmentDescriptor.Builder builder = new FragmentDescriptor.Builder();
|
||||
builder.fragment(fragment);
|
||||
FragmentDescriptor build =
|
||||
builder.tag(tag).build();
|
||||
SearchServiceHolder.INSTANCE.getFragmentManager().push(build);
|
||||
}
|
||||
|
||||
private void pupSettingAddress(int type) {
|
||||
|
||||
FragmentDescriptor.Builder builder = new FragmentDescriptor.Builder();
|
||||
builder.fragment(SettingAddressFragment.Companion.newInstance(type));
|
||||
FragmentDescriptor build =
|
||||
builder.tag(MogoModulePaths.PATH_FRAGMENT_SETTING_HOME).build();
|
||||
SearchServiceHolder.INSTANCE.getFragmentManager().push(build);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -236,10 +250,9 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void renderSearchPoiResult(List<MogoTip> datums, boolean showDelete) {
|
||||
if (datums==null||datums.isEmpty()) {
|
||||
if (datums == null || datums.isEmpty()) {
|
||||
showEmpty(getString(R.string.search_empty));
|
||||
return;
|
||||
}
|
||||
@@ -249,7 +262,7 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
|
||||
@Override public void showHistory(List<SearchPoi> datums) {
|
||||
|
||||
if (datums==null||datums.isEmpty()) {
|
||||
if (datums == null || datums.isEmpty()) {
|
||||
showEmpty(getString(R.string.history_empty));
|
||||
return;
|
||||
}
|
||||
@@ -327,10 +340,8 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
private void navi2Location(SearchPoi searchPoi) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -350,7 +361,6 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void showResult() {
|
||||
rlHistory.setVisibility(View.GONE);
|
||||
mSearchResult.setVisibility(View.VISIBLE);
|
||||
@@ -363,10 +373,20 @@ public class SearchFragment extends BaseSearchFragment implements SearchView {
|
||||
tvEmpty.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
private void showEmpty(String str){
|
||||
private void showEmpty(String str) {
|
||||
rlHistory.setVisibility(View.GONE);
|
||||
tvEmpty.setText(str);
|
||||
mSearchResult.setVisibility(View.GONE);
|
||||
tvEmpty.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 类别
|
||||
*/
|
||||
@Override public void onClick(View v) {
|
||||
TextView category = (TextView) v;
|
||||
String text = category.getText().toString();
|
||||
push(CategorySearchFragment.Companion.newInstance(text),MogoModulePaths.PATH_FRAGMENT_SEARCH_CATEGORY);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ public class SearchPresenter extends Presenter< SearchView >
|
||||
}
|
||||
};
|
||||
|
||||
private void startSearchPoiByInput( String keyword ) {
|
||||
public void startSearchPoiByInput( String keyword ) {
|
||||
MogoInputtipsQuery mogoInputtipsQuery = new MogoInputtipsQuery();
|
||||
mogoInputtipsQuery.setKeyword(keyword);
|
||||
IMogoInputtipsSearch inputtipsSearch =
|
||||
|
||||
@@ -2,32 +2,127 @@ package com.mogo.module.navi.ui.setting
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.mogo.map.search.inputtips.MogoTip
|
||||
import com.mogo.module.common.MogoModulePaths
|
||||
import com.mogo.module.navi.R
|
||||
import com.mogo.module.navi.bean.SearchPoi
|
||||
import com.mogo.module.navi.constants.AMapConstants
|
||||
import com.mogo.module.navi.constants.SearchServiceHolder
|
||||
import com.mogo.module.navi.ui.adapter.SearchPoiAdapter
|
||||
import com.mogo.module.navi.ui.base.BaseFragment
|
||||
import com.mogo.module.navi.ui.search.BaseSearchFragment
|
||||
import kotlinx.android.synthetic.main.fragment_navi_setting.iv_back
|
||||
import kotlinx.android.synthetic.main.fragment_navi_setting.tv_navi_sound_type
|
||||
import kotlinx.android.synthetic.main.include_search_bar.iv_navi_back
|
||||
import kotlinx.android.synthetic.main.fragment_setting_address.group_set_address
|
||||
import kotlinx.android.synthetic.main.fragment_setting_address.rv_search_result
|
||||
import kotlinx.android.synthetic.main.fragment_setting_address.tv_navi_choose_point
|
||||
import kotlinx.android.synthetic.main.fragment_setting_address.tv_navi_my_location
|
||||
import kotlinx.android.synthetic.main.fragment_setting_address.tv_set_as_home
|
||||
import kotlinx.android.synthetic.main.include_search_bar.et_navi_search
|
||||
|
||||
/**
|
||||
* @author zyz
|
||||
* 2020-01-07.
|
||||
*/
|
||||
@Route(path= MogoModulePaths.PATH_FRAGMENT_SETTING)
|
||||
class SettingAddressFragment : BaseFragment() {
|
||||
@Route(path = MogoModulePaths.PATH_FRAGMENT_SETTING_HOME)
|
||||
class SettingAddressFragment : BaseSearchFragment() {
|
||||
override fun renderSearchPoiResult(
|
||||
datums: MutableList<MogoTip>?,
|
||||
showDelete: Boolean
|
||||
) {
|
||||
mAdapter.setDatas(datums)
|
||||
group_set_address.visibility = View.GONE
|
||||
rv_search_result.visibility = View.VISIBLE
|
||||
|
||||
}
|
||||
|
||||
override fun showHistory(datums: MutableList<SearchPoi>?) {
|
||||
}
|
||||
|
||||
private var style: Int = 0
|
||||
private lateinit var mAdapter: SearchPoiAdapter
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
style = arguments?.getInt(AMapConstants.KEY_SET_HOME_COMPONY) ?: 0
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.fragment_setting_address
|
||||
}
|
||||
|
||||
fun isHome(): Boolean {
|
||||
return style == 0
|
||||
}
|
||||
|
||||
fun isCompony(): Boolean {
|
||||
return style == 1
|
||||
}
|
||||
|
||||
fun isSearch(): Boolean {
|
||||
return group_set_address.visibility == View.GONE
|
||||
}
|
||||
|
||||
override fun onViewCreated(
|
||||
view: View,
|
||||
savedInstanceState: Bundle?
|
||||
) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
iv_back.setOnClickListener {
|
||||
SearchServiceHolder.fragmentManager.pop()
|
||||
|
||||
if (isHome()) {
|
||||
tv_set_as_home.text = resources.getString(R.string.set_as_home_navi)
|
||||
} else {
|
||||
tv_set_as_home.text = resources.getString(R.string.set_as_compony_navi)
|
||||
}
|
||||
|
||||
mAdapter = SearchPoiAdapter(activity, ArrayList())
|
||||
|
||||
rv_search_result.layoutManager =
|
||||
LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false)
|
||||
|
||||
rv_search_result.adapter = mAdapter
|
||||
|
||||
|
||||
iv_navi_back.setOnClickListener {
|
||||
if (group_set_address.visibility == View.VISIBLE) {
|
||||
SearchServiceHolder.fragmentManager.pop()
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tv_navi_choose_point.setOnClickListener {
|
||||
group_set_address.visibility = View.GONE
|
||||
tv_set_as_home.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
tv_navi_my_location.setOnClickListener {
|
||||
group_set_address.visibility = View.GONE
|
||||
tv_set_as_home.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun reset() {
|
||||
group_set_address.visibility = View.VISIBLE
|
||||
rv_search_result.visibility = View.GONE
|
||||
mAdapter.clear()
|
||||
et_navi_search.setText("")
|
||||
tv_set_as_home.visibility = View.GONE
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun newInstance(type: Int = 0): Fragment {
|
||||
|
||||
var settingAddressFragment = SettingAddressFragment()
|
||||
val bundle = Bundle()
|
||||
bundle.putInt(AMapConstants.KEY_SET_HOME_COMPONY, type)
|
||||
settingAddressFragment.setArguments(bundle)
|
||||
return settingAddressFragment
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="true">
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:startColor="#1A3E7FFC"
|
||||
android:endColor="#3E7FFC" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:drawable="@color/translate"/>
|
||||
</selector>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@mipmap/icon_search_category_checked" android:state_selected="true"/>
|
||||
<item android:drawable="@mipmap/icon_search_category_checked" android:state_checked="true"/>
|
||||
<item android:drawable="@mipmap/icon_search_category_unchecked"/>
|
||||
</selector>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
|
||||
|
||||
<corners android:radius="@dimen/dp_16"/>
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#3E7FFC"
|
||||
android:startColor="#5CC1FF" />
|
||||
</shape>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<solid android:color="#3F4057"/>
|
||||
<corners android:radius="@dimen/dp_8"/>
|
||||
<corners android:radius="@dimen/dp_16"/>
|
||||
</shape>
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
android:layout_weight="1"
|
||||
android:textSize="@dimen/txt_normal"
|
||||
android:paddingLeft="@dimen/dp_75"
|
||||
android:id="@+id/tv_navi_home"
|
||||
android:gravity="center_vertical"
|
||||
android:drawableLeft="@mipmap/icon_navi_home"
|
||||
android:text="@string/navi_home"
|
||||
@@ -51,7 +52,7 @@
|
||||
android:textSize="@dimen/txt_normal"
|
||||
android:text="@string/navi_company"
|
||||
android:paddingLeft="@dimen/dp_75"
|
||||
|
||||
android:id="@+id/tv_navi_company"
|
||||
android:gravity="center_vertical"
|
||||
android:drawableLeft="@mipmap/icon_navi_company"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingBottom="@dimen/dp_60"
|
||||
android:paddingLeft="@dimen/dp_60"
|
||||
android:paddingRight="@dimen/dp_60"
|
||||
android:paddingTop="@dimen/dp_40"
|
||||
>
|
||||
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/cv_search_result"
|
||||
android:layout_width="@dimen/dp_838"
|
||||
android:layout_height="@dimen/dp_778"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/ll_navi_search"
|
||||
app:cardBackgroundColor="#3F4057"
|
||||
app:cardCornerRadius="@dimen/dp_16"
|
||||
>
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_search_result"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_navi_navi"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_margin="@dimen/dp_40"
|
||||
android:text="@string/navi_to_there"
|
||||
android:layout_height="@dimen/dp_104"
|
||||
style="@style/txt_btn"
|
||||
/>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<include layout="@layout/include_search_bar" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,10 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:paddingBottom="@dimen/dp_60"
|
||||
android:paddingLeft="@dimen/dp_60"
|
||||
android:paddingRight="@dimen/dp_60"
|
||||
android:paddingTop="@dimen/dp_40"
|
||||
>
|
||||
|
||||
<include layout="@layout/include_search_bar"/>
|
||||
<include layout="@layout/include_search_bar" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="180dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
android:textSize="@dimen/sp_40"
|
||||
android:textColor="@color/white"
|
||||
android:paddingLeft="@dimen/dp_56"
|
||||
android:gravity="center_vertical"
|
||||
android:background="@drawable/shape_round_gray"
|
||||
android:text="@string/my_location_search"
|
||||
android:drawablePadding="@dimen/dp_8"
|
||||
android:id="@+id/tv_navi_my_location"
|
||||
android:drawableLeft="@mipmap/icon_navi_location"
|
||||
app:layout_constraintTop_toBottomOf="@+id/ll_navi_search"
|
||||
android:layout_height="@dimen/dp_120"/>
|
||||
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="180dp"
|
||||
android:id="@+id/tv_navi_choose_point"
|
||||
android:textSize="@dimen/sp_40"
|
||||
app:layout_constraintLeft_toRightOf="@id/tv_navi_my_location"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_navi_my_location"
|
||||
android:textColor="@color/white"
|
||||
android:paddingLeft="@dimen/dp_56"
|
||||
android:drawablePadding="@dimen/dp_8"
|
||||
android:background="@drawable/shape_round_gray"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginLeft="@dimen/dp_32"
|
||||
android:text="@string/choose_location_search"
|
||||
android:drawableLeft="@mipmap/icon_navi_location"
|
||||
android:layout_height="@dimen/dp_120"/>
|
||||
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_set_address"
|
||||
app:constraint_referenced_ids="tv_navi_choose_point,tv_navi_my_location"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="@dimen/dp_266"
|
||||
android:text="@string/set_as_home_navi"
|
||||
android:layout_marginRight="@dimen/dp_8"
|
||||
android:gravity="center"
|
||||
android:id="@+id/tv_set_as_home"
|
||||
android:textColor="@color/white"
|
||||
android:visibility="gone"
|
||||
android:textSize="@dimen/sp_40"
|
||||
android:background="@drawable/shape_round_blue_grident"
|
||||
app:layout_constraintRight_toRightOf="@+id/ll_navi_search"
|
||||
app:layout_constraintTop_toTopOf="@+id/ll_navi_search"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/ll_navi_search"
|
||||
android:layout_height="@dimen/dp_104"/>
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:layout_width="@dimen/dp_838"
|
||||
android:id="@+id/rv_search_result"
|
||||
android:visibility="gone"
|
||||
android:paddingLeft="@dimen/dp_37"
|
||||
android:paddingRight="@dimen/dp_37"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
android:background="@drawable/shape_round_gray"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/ll_navi_search"
|
||||
android:layout_height="@dimen/dp_778"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:background="@drawable/selector_item_category_background"
|
||||
android:layout_height="@dimen/dp_180"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/iv_position"
|
||||
android:layout_marginLeft="@dimen/dp_32"
|
||||
android:layout_width="@dimen/dp_80"
|
||||
android:gravity="center"
|
||||
android:text="1"
|
||||
android:paddingBottom="@dimen/dp_10"
|
||||
android:textColor="@color/white"
|
||||
android:layout_height="@dimen/dp_80"
|
||||
android:textSize="@dimen/txt_normal"
|
||||
android:background="@drawable/selector_item_category_result"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_position"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_70"
|
||||
android:layout_marginLeft="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="25sp"
|
||||
app:layout_constraintLeft_toRightOf="@id/iv_position"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_position_des"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_42"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:ellipsize="marquee"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/white_60"
|
||||
android:textSize="@dimen/sp_30"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tv_position"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_position"
|
||||
/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_2"
|
||||
android:layout_marginRight="@dimen/dp_32"
|
||||
android:layout_marginLeft="@dimen/dp_110"
|
||||
android:background="@color/white_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
@@ -5,6 +5,7 @@
|
||||
<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>
|
||||
|
||||
@@ -26,4 +26,9 @@
|
||||
<string name="navi_prefer_day">白天</string>
|
||||
<string name="navi_prefer_night">夜间</string>
|
||||
<string name="navi_prefer_auto">自动</string>
|
||||
<string name="my_location_search">我的位置</string>
|
||||
<string name="choose_location_search">地图选点</string>
|
||||
<string name="set_as_home_navi">设为家</string>
|
||||
<string name="set_as_compony_navi">设为公司</string>
|
||||
<string name="navi_to_there">导航去这里</string>
|
||||
</resources>
|
||||
|
||||
@@ -37,4 +37,11 @@
|
||||
<item name="android:background">@drawable/selector_setting_bg</item>
|
||||
</style>
|
||||
|
||||
<style name="txt_btn">
|
||||
<item name="android:textColor">@color/white</item>
|
||||
<item name="android:textSize">@dimen/txt_title</item>
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:background">@drawable/shape_round_blue_grident</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user