Commit a3197986 authored by lify's avatar lify

旅游详情页面

parent ba5329bc
......@@ -270,6 +270,14 @@
android:screenOrientation="portrait"
android:theme="@style/MyFrameTheme"
android:windowSoftInputMode="adjustResize|stateHidden" />
<activity
android:name="com.rv.travel.TravelFragmentActivity"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTask"
android:maxAspectRatio="2.4"
android:screenOrientation="portrait"
android:theme="@style/MyFrameTheme"
android:windowSoftInputMode="adjustResize|stateHidden" />
<!--=================================================================-->
......
......@@ -53,5 +53,7 @@ android {
api "com.github.CymChad:BaseRecyclerViewAdapterHelper:$rootProject.ext.quickAdapterVersion"
//微信支付
api "com.tencent.mm.opensdk:wechat-sdk-android-with-mta:$rootProject.ext.wechatPayVersion"
//https://github.com/Justson/AgentWeb
api 'com.just.agentweb:agentweb:4.0.3-beta'
}
}
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:enterFadeDuration="@integer/selector_duration" android:exitFadeDuration="@integer/selector_duration">
<item android:drawable="@drawable/rv_common_icon_back_white" android:state_checked="true" />
<item android:drawable="@drawable/rv_common_icon_back_dark" android:state_checked="false" />
<item android:drawable="@drawable/rv_common_icon_back_dark" android:state_pressed="false" />
<item android:drawable="@drawable/rv_common_icon_back_white" android:state_pressed="true" />
</selector>
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
......@@ -4,6 +4,8 @@ import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.FrameLayout;
......@@ -15,6 +17,8 @@ import com.base.utils.base.BaseActivity;
import com.frame.rv.BaseTabLayout;
import com.frame.rv.ModuleChangeUtil;
import com.frame.rv.OnModuleChangedListener;
import com.rv.travel.fragment.TravelFragmentHotType;
import com.rv.travel.fragment.TravelFragmentMain;
import butterknife.BindView;
import butterknife.ButterKnife;
......@@ -49,6 +53,8 @@ public class TravelActivity extends BaseActivity {
@OnClick({
R2.id.travel_hot_type_back,
R2.id.travel_hot_type_select,
R2.id.search_commit,
R2.id.travel_server_image,
})
public void onTravelActivityClick(View view) {
int id = view.getId();
......@@ -56,6 +62,10 @@ public class TravelActivity extends BaseActivity {
setTravelFragmentMain();
} else if (id == R.id.travel_hot_type_select) {
travelFragmentHotType.setHotMoreFragment();
} else if (id == R.id.search_commit) {
searchInput.setText("");
} else if (id == R.id.travel_server_image) {
showToastShort("联系客服");
}
}
......@@ -82,6 +92,27 @@ public class TravelActivity extends BaseActivity {
@Override
public void onView() {
setTravelFragmentMain();
searchInput.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (s != null && s.length() > 0) {
searchCommit.setVisibility(View.VISIBLE);
} else {
searchCommit.setVisibility(View.GONE);
}
}
});
}
@Override
......
package com.rv.travel;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import com.base.utils.base.BaseActivity;
public class TravelFragmentActivity extends BaseActivity {
public static Fragment currentFragment = null;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_other);
onData();
onView();
}
@Override
public void onData() {
setCurrentFragment();
}
@Override
public void onView() {
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setCurrentFragment();
}
private void setCurrentFragment() {
if (currentFragment != null) {
getSupportFragmentManager().beginTransaction().replace(R.id.other_fragment_layout, currentFragment).commitAllowingStateLoss();
}
}
}
package com.rv.travel;
package com.rv.travel.adapter;
import android.support.annotation.Nullable;
import android.support.v7.widget.CardView;
......@@ -6,17 +6,19 @@ import android.view.View;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.travel.R;
import com.rv.travel.bean.BeanHot;
import java.util.List;
public class AdapterHot extends BaseQuickAdapter<BeanHot, AdapterHot.AdapterViewHolder> {
public interface OnItemClickListener {
public interface OnItemRootClickListener {
void onItemClick(BeanHot bean);
}
private OnItemClickListener itemClickListener;
private OnItemRootClickListener itemClickListener;
public void setItemClickListener(OnItemClickListener itemClickListener) {
public void setOnItemRootClickListener(OnItemRootClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
}
......@@ -26,9 +28,9 @@ public class AdapterHot extends BaseQuickAdapter<BeanHot, AdapterHot.AdapterView
@Override
protected void convert(AdapterViewHolder helper, final BeanHot item) {
helper.item.setTag(item);
helper.itemRoot.setTag(item);
helper.item.setOnClickListener(new View.OnClickListener() {
helper.itemRoot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (itemClickListener != null) {
......@@ -41,11 +43,11 @@ public class AdapterHot extends BaseQuickAdapter<BeanHot, AdapterHot.AdapterView
public class AdapterViewHolder extends BaseViewHolder {
CardView item;
CardView itemRoot;
public AdapterViewHolder(View view) {
super(view);
item = view.findViewById(R.id.item_hot_card_view);
itemRoot = view.findViewById(R.id.item_hot_card_view);
}
}
}
package com.rv.travel;
package com.rv.travel.adapter;
import android.support.annotation.Nullable;
import android.support.v7.widget.CardView;
import android.view.View;
import com.base.utils.tools.android.IntentUtil;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.travel.R;
import com.rv.travel.bean.BeanRim;
import java.util.List;
public class AdapterRim extends BaseQuickAdapter<BeanRim,AdapterRim.AdapterViewHolder> {
public class AdapterRim extends BaseQuickAdapter<BeanRim, AdapterRim.AdapterViewHolder> {
public interface OnItemRootClickListener {
void onItemClick(BeanRim bean);
}
private OnItemRootClickListener itemClickListener;
public void setItemRootClickListener(OnItemRootClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
}
public AdapterRim(int layoutResId, @Nullable List<BeanRim> data) {
super(layoutResId, data);
......@@ -16,13 +29,27 @@ public class AdapterRim extends BaseQuickAdapter<BeanRim,AdapterRim.AdapterViewH
@Override
protected void convert(AdapterViewHolder helper, BeanRim item) {
helper.itemRoot.setTag(item);
helper.itemRoot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (itemClickListener != null) {
BeanRim beanRim = (BeanRim) v.getTag();
itemClickListener.onItemClick(beanRim);
}
}
});
}
public class AdapterViewHolder extends BaseViewHolder{
public class AdapterViewHolder extends BaseViewHolder {
CardView itemRoot;
public AdapterViewHolder(View view) {
super(view);
itemRoot = view.findViewById(R.id.item_rim_root);
}
}
}
package com.rv.travel;
package com.rv.travel.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
......@@ -11,6 +11,11 @@ import android.view.ViewGroup;
import com.base.animset.util.NiftyEffects;
import com.base.utils.base.BaseFragment;
import com.rv.travel.adapter.AdapterHot;
import com.rv.travel.R;
import com.rv.travel.R2;
import com.rv.travel.TravelActivity;
import com.rv.travel.bean.BeanHot;
import java.util.ArrayList;
import java.util.List;
......@@ -94,7 +99,7 @@ public class TravelFragmentHotMore extends BaseFragment {
data.add(new BeanHot());
data.add(new BeanHot());
adapterHot = new AdapterHot(R.layout.item_travel_hot_more, data);
adapterHot.setItemClickListener(new AdapterHot.OnItemClickListener() {
adapterHot.setOnItemRootClickListener(new AdapterHot.OnItemRootClickListener() {
@Override
public void onItemClick(BeanHot bean) {
TravelActivity.getInstance().setTravelFragmentHotType();
......
package com.rv.travel;
package com.rv.travel.fragment;
import android.annotation.SuppressLint;
import android.content.Context;
......@@ -14,7 +14,14 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import com.base.utils.base.BaseFragment;
import com.base.utils.tools.android.IntentUtil;
import com.frame.base.glide.GlideManager;
import com.rv.travel.TravelFragmentActivity;
import com.rv.travel.adapter.AdapterRim;
import com.rv.travel.R;
import com.rv.travel.R2;
import com.rv.travel.TravelActivity;
import com.rv.travel.bean.BeanRim;
import com.yuyife.banner.Banner;
import com.yuyife.banner.BannerConfig;
import com.yuyife.banner.listener.OnBannerListener;
......@@ -103,7 +110,13 @@ public class TravelFragmentHotType extends BaseFragment {
data.add(new BeanRim());
data.add(new BeanRim());
adapterRim = new AdapterRim(R.layout.item_travel_rim, data);
adapterRim.setItemRootClickListener(new AdapterRim.OnItemRootClickListener() {
@Override
public void onItemClick(BeanRim bean) {
TravelFragmentActivity.currentFragment = TravelWebFragment.getInstance("https://www.qq.com/");
IntentUtil.goActivityWithAnimationAlpha(getActivity(), TravelFragmentActivity.class);
}
});
final LinearLayoutManager linearLayoutManager = new LinearLayoutManager(baseContext);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
rimRecycler.setLayoutManager(linearLayoutManager);
......
package com.rv.travel;
package com.rv.travel.fragment;
import android.annotation.SuppressLint;
import android.content.Context;
......@@ -15,7 +15,16 @@ import android.widget.ImageView;
import com.base.animset.util.NiftyEffects;
import com.base.utils.base.BaseFragment;
import com.base.utils.tools.android.IntentUtil;
import com.frame.base.glide.GlideManager;
import com.rv.travel.TravelFragmentActivity;
import com.rv.travel.adapter.AdapterHot;
import com.rv.travel.adapter.AdapterRim;
import com.rv.travel.R;
import com.rv.travel.R2;
import com.rv.travel.TravelActivity;
import com.rv.travel.bean.BeanHot;
import com.rv.travel.bean.BeanRim;
import com.yuyife.banner.Banner;
import com.yuyife.banner.BannerConfig;
import com.yuyife.banner.listener.OnBannerListener;
......@@ -94,7 +103,7 @@ public class TravelFragmentMain extends BaseFragment {
data.add(new BeanHot());
data.add(new BeanHot());
adapterHot = new AdapterHot(R.layout.item_travel_hot, data);
adapterHot.setItemClickListener(new AdapterHot.OnItemClickListener() {
adapterHot.setOnItemRootClickListener(new AdapterHot.OnItemRootClickListener() {
@Override
public void onItemClick(BeanHot bean) {
TravelActivity.getInstance().setTravelFragmentHotType();
......@@ -123,7 +132,13 @@ public class TravelFragmentMain extends BaseFragment {
data.add(new BeanRim());
data.add(new BeanRim());
adapterRim = new AdapterRim(R.layout.item_travel_rim, data);
adapterRim.setItemRootClickListener(new AdapterRim.OnItemRootClickListener() {
@Override
public void onItemClick(BeanRim bean) {
TravelFragmentActivity .currentFragment = TravelWebFragment.getInstance("https://www.qq.com/");
IntentUtil.goActivityWithAnimationAlpha(getActivity(), TravelFragmentActivity.class);
}
});
final LinearLayoutManager linearLayoutManager = new LinearLayoutManager(baseContext);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
rimRecycler.setLayoutManager(linearLayoutManager);
......
package com.rv.travel.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import com.base.utils.base.BaseFragment;
import com.just.agentweb.AgentWeb;
import com.rv.travel.R;
import com.rv.travel.R2;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
public class TravelWebFragment extends BaseFragment {
public static TravelWebFragment getInstance(String url) {
TravelWebFragment instance = new TravelWebFragment();
instance.URL_ADDRESS = url;
return instance;
}
private String URL_ADDRESS = "";
@BindView(R2.id.travel_web_fragment_root)
FrameLayout rootLayout;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_web, container, false);
unbinder = ButterKnife.bind(this, view);
return view;
}
Unbinder unbinder;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
onData();
onView();
}
@Override
public void onData() {
}
@Override
public void onView() {
goWeb();
}
@Override
public void onDestroyView() {
super.onDestroyView();
}
AgentWeb mAgentWeb;
private void goWeb() {
mAgentWeb = AgentWeb.with(this)
.setAgentWebParent(rootLayout, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
.useDefaultIndicator()
.createAgentWeb()
.ready()
.go(URL_ADDRESS);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/other_fragment_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
......@@ -128,6 +128,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/ui_dimen_margin_h2"
android:layout_marginRight="@dimen/ui_dimen_common"
android:text="新疆游"
android:textColor="@color/colorTextH1"
......
......@@ -46,7 +46,7 @@
android:layout_marginLeft="@dimen/ui_dimen_margin_h1"
android:layout_weight="1"
android:gravity="center"
android:text="-推荐路线-"
android:text="推荐路线"
android:textColor="@color/uiTextColorH1"
android:textSize="@dimen/_ui_text_size_h4" />
......
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/travel_web_fragment_root"
android:layout_height="match_parent">
</FrameLayout>
\ No newline at end of file
......@@ -6,6 +6,8 @@
android:orientation="vertical">
<android.support.v7.widget.CardView
android:id="@+id/item_rim_root"
android:clickable="true"
android:layout_width="match_parent"
android:layout_height="110dp"
android:layout_marginBottom="@dimen/ui_dimen_margin_h1"
......
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