master
ongbo 5 years ago
parent dd207daf39
commit 1eebc6509e

@ -105,19 +105,28 @@
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-idling-resource:3.1.1@aar" level="project" />
<orderEntry type="library" name="Gradle: com.hankcs:hanlp:portable-1.7.2@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.collection:collection:1.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.github.bumptech.glide:glide:4.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.github.bumptech.glide:gifdecoder:4.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.arch.core:core-common:2.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.annotation:annotation:1.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.constraintlayout:constraintlayout-solver:1.1.3@jar" level="project" />
<orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.2.62@jar" level="project" />
<orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.2@jar" level="project" />
<orderEntry type="library" name="Gradle: com.flaviofaria:kenburnsview:1.0.7@jar" level="project" />
<orderEntry type="library" name="Gradle: com.github.bumptech.glide:disklrucache:4.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.github.bumptech.glide:annotations:4.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: com.google.android.material:material:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.loopeer.library:cardstack:1.0.2@aar" level="project" />
<orderEntry type="library" name="Gradle: com.hanks.animatecheckbox:library:0.1@aar" level="project" />
<orderEntry type="library" name="Gradle: com.github.johnpersano:supertoasts:2.0@aar" level="project" />
<orderEntry type="library" name="Gradle: liji.library.dev:citypickerview:5.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.github.florent37:materialviewpager:1.2.3@aar" level="project" />
<orderEntry type="library" name="Gradle: com.ramotion.foldingcell:folding-cell:1.2.3@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.appcompat:appcompat:1.0.2@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.cardview:cardview:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: com.jpardogo.materialtabstrip:library:1.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.legacy:legacy-support-v4:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.fragment:fragment:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.recyclerview:recyclerview:1.0.0@aar" level="project" />
@ -133,6 +142,7 @@
<orderEntry type="library" name="Gradle: androidx.customview:customview:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.asynclayoutinflater:asynclayoutinflater:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.media:media:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.core:core:1.0.1@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar" level="project" />
@ -149,5 +159,6 @@
<orderEntry type="library" name="Gradle: com.github.dmytrodanylyk.circular-progress-button:library:1.1.3@aar" level="project" />
<orderEntry type="library" name="Gradle: com.github.open-android:WheelPicker:v1.0.0@aar" level="project" />
<orderEntry type="library" name="Gradle: cn.aigestudio.wheelpicker:WheelPicker:1.1.3@aar" level="project" />
<orderEntry type="library" name="Gradle: de.hdodenhof:circleimageview:2.2.0@aar" level="project" />
</component>
</module>

@ -51,4 +51,8 @@ dependencies {
implementation 'liji.library.dev:citypickerview:5.1.0'
implementation 'cn.aigestudio.wheelpicker:WheelPicker:1.1.3'
implementation 'com.github.open-android:WheelPicker:v1.0.0'
//
implementation 'com.github.florent37:materialviewpager:1.2.3'
implementation 'com.ramotion.foldingcell:folding-cell:1.2.3'
implementation 'de.hdodenhof:circleimageview:2.2.0'
}

@ -0,0 +1,123 @@
package com.example.PersonalCenter;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.example.cmknowledgegraph.MainActivity;
import com.example.cmknowledgegraph.R;
import com.github.florent37.materialviewpager.MaterialViewPager;
import com.github.florent37.materialviewpager.header.HeaderDesign;
public class MyPersonCenter extends Fragment {
MainActivity mainActivity;
@Override
public void onAttach(Context context) {
super.onAttach(context);
this.mainActivity = (MainActivity) context;
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.chat_content, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//包装处理逻辑
//得到MaterViewPager实例
MaterialViewPager materialViewPager = (MaterialViewPager) getActivity().findViewById(R.id.materialViewPager);
//为MaterialViewPager添加监听
materialViewPager.setMaterialViewPagerListener(new MaterialViewPager.Listener() {
@Override
//设置转换动画和图片,颜色
public HeaderDesign getHeaderDesign(int page) {
switch (page){
case 0:
return HeaderDesign.fromColorResAndDrawable(
R.color.blue,
getResources().getDrawable(R.drawable.home_back)
);
case 1:
return HeaderDesign.fromColorResAndDrawable(
R.color.green,
getResources().getDrawable(R.drawable.home_back)
);
case 2:
return HeaderDesign.fromColorResAndDrawable(
R.color.cyan,
getResources().getDrawable(R.drawable.home_back)
);
}
return null;
}
});
//设置Toolbar
Toolbar toolbar = materialViewPager.getToolbar();
if(toolbar!=null){
mainActivity.setSupportActionBar(toolbar);
ActionBar actionBar = mainActivity.getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setHomeButtonEnabled(true);
}
//为Viewpager设置适配器
ViewPager viewPager = materialViewPager.getViewPager();
viewPager.setAdapter(new FragmentStatePagerAdapter(getChildFragmentManager()) {
@NonNull
@Override
public Fragment getItem(int position) {
switch (position % 3){
case 0:
return RecyclerViewFragment.newInstance(0,mainActivity);
case 1:
return RecyclerViewFragment.newInstance(1,mainActivity);
case 2:
return RecyclerViewFragment.newInstance(1,mainActivity);
default:
return RecyclerViewFragment.newInstance(1,mainActivity);
}
}
@Override
public int getCount() {
return 3;
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
switch (position % 3){
case 0:
return "jil";
case 1:
return "drug";
case 2:
return "药友";
default:
return "TAPN";
}
}
});
materialViewPager.getViewPager().setOffscreenPageLimit(materialViewPager
.getViewPager().getAdapter().getCount());
materialViewPager.getPagerTitleStrip().setViewPager(materialViewPager.getViewPager());
}
}

@ -0,0 +1,80 @@
package com.example.PersonalCenter;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.example.cmknowledgegraph.R;
import com.github.florent37.materialviewpager.header.MaterialViewPagerHeaderDecorator;
import java.util.ArrayList;
import java.util.List;
public class RecyclerViewFragment extends Fragment {
int flag;
AppCompatActivity appCompatActivity;
public void setAppCompatActivity(AppCompatActivity appCompatActivity) {
this.appCompatActivity = appCompatActivity;
}
public void setFlag(int flag) {
this.flag = flag;
}
public static Fragment newInstance(int flag, AppCompatActivity appCompatActivity){
RecyclerViewFragment recyclerViewFragment = new RecyclerViewFragment();
recyclerViewFragment.setFlag(flag);
recyclerViewFragment.setAppCompatActivity(appCompatActivity);
return recyclerViewFragment;
}
final List<Object> items = new ArrayList<>();
static final int ITEMS = 7;
RecyclerView mRecyclerView;
CardView mCardView;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_recyclerview, container, false);
}
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mRecyclerView=view.findViewById(R.id.recyclerView);
// mCardView = view.findViewById();
//需要根据网路请求发送数据来请求一个页可以有多少文章条目而且针对每一个tab都要有不同的显示方式
for (int i=0;i<ITEMS;i++){
items.add(new Object());
}
//设置布局
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.canScrollVertically();
mRecyclerView.setLayoutManager(linearLayoutManager);
mRecyclerView.setHasFixedSize(true);
//设置分割线
mRecyclerView.addItemDecoration(new MaterialViewPagerHeaderDecorator());
//设置适配器
RecyclerViewPagerAdapter recyclerViewPagerAdapter = new RecyclerViewPagerAdapter(items,flag);
recyclerViewPagerAdapter.setAppCompatActivity(appCompatActivity);
mRecyclerView.setAdapter(recyclerViewPagerAdapter);
}
public void initdata(){
//初始化数据类,请求网络
}
}

@ -0,0 +1,132 @@
package com.example.PersonalCenter;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView;
import com.example.cmknowledgegraph.R;
import com.loopeer.cardstack.CardStackView;
import com.ramotion.foldingcell.FoldingCell;
import java.util.Arrays;
import java.util.List;
public class RecyclerViewPagerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
List<Object> contents;
int flag;
AppCompatActivity appCompatActivity;
public void setAppCompatActivity(AppCompatActivity appCompatActivity) {
this.appCompatActivity = appCompatActivity;
}
public RecyclerViewPagerAdapter(List<Object> contents, int flag)
{
this.flag = flag;
this.contents = contents;
}
public int getItemCount() {
return contents.size();
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = null;
switch (flag){
case 0://论坛
view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.internetforumfragment, parent, false);
//
// view = LayoutInflater.from(parent.getContext()).inflate(R.layout.drug_friends,parent,false);
FoldingCell foldingCell = view.findViewById(R.id.folding_cell);
foldingCell.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
foldingCell.toggle(false);
}
});
return new RecyclerView.ViewHolder(view) {
};
case 1://动态
view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.content_cardview, parent, false);
return new RecyclerView.ViewHolder(view) {
};
case 2://好友列表
view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.content_cardview, parent, false);
return new RecyclerView.ViewHolder(view) {
};
// view = LayoutInflater.from(parent.getContext())
// .inflate(R.layout.drug_friends,parent,false);
// CardStackView cardStackView = view.findViewById(R.id.stackview);
// Integer[] item = new Integer[]{R.color.color_1,
// R.color.color_2,
// R.color.color_3,
// R.color.color_4,
// R.color.color_5,
// R.color.color_6,
// R.color.color_7,
// R.color.color_8,
// R.color.color_9,
// R.color.color_10,
// R.color.color_11,
// R.color.color_12,
// R.color.color_13,
// R.color.color_14,
// R.color.color_15,
// R.color.color_16,
// R.color.color_17,
// R.color.color_18,
// R.color.color_19,
// R.color.color_20,
// R.color.color_21,
// R.color.color_22,
// R.color.color_23,
// R.color.color_24,
// R.color.color_25,
// R.color.color_26};
// DrugFriendsCardAdapter drugFriendsCardAdapter = new DrugFriendsCardAdapter(parent.getContext());
// drugFriendsCardAdapter.setAppCompatActivity(appCompatActivity);
//
// cardStackView.setAdapter(drugFriendsCardAdapter);
// cardStackView.setItemExpendListener(new CardStackView.ItemExpendListener() {
// @Override
// public void onItemExpend(boolean expend) {
//
// }
// });
// cardStackView.setAnimatorAdapter(new AllMoveDownAnimatorAdapter(cardStackView));
// new Handler().postDelayed(new Runnable() {
// @Override
// public void run() {
// drugFriendsCardAdapter.updateData(Arrays.asList(item));
// }
// },200);
// return new RecyclerView.ViewHolder(view) {
// @Override
// public String toString() {
// return super.toString();
// }
// };
}
return null;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
//在这里设置某一个条目的监听
}
}

@ -2,6 +2,7 @@ package com.example.cmknowledgegraph;
import android.os.Bundle;
import com.example.PersonalCenter.MyPersonCenter;
import com.example.PersonalCenter.PersonContent;
//import com.example.cmknowledgegraph.MainContent;
import com.example.SearchCenter.SearchContent;
@ -38,9 +39,11 @@ public class MainActivity extends AppCompatActivity {
transaction.commit(); //一定不要忘记commit否则不会显示
return true;
case R.id.chat:
// transaction.replace(R.id.content,new MyPersonCenter());
// transaction.commit();
return true;
case R.id.person:
transaction.replace(R.id.content,new PersonContent()); //对应的java class
transaction.replace(R.id.content,new MyPersonCenter()); //对应的java class
transaction.commit(); //一定不要忘记commit否则不会显示
return true;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
这个xml文件是chat区的总体页面
-->
<LinearLayout 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:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">
<com.github.florent37.materialviewpager.MaterialViewPager
android:id="@+id/materialViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:viewpager_logo="@layout/header_logo"
app:viewpager_logoMarginTop="100dp"
app:viewpager_color="@color/colorPrimary"
app:viewpager_headerHeight="200dp"
app:viewpager_headerAlpha="1.0"
app:viewpager_hideLogoWithFade="false"
app:viewpager_hideToolbarAndTitle="true"
app:viewpager_enableToolbarElevation="true"
app:viewpager_parallaxHeaderFactor="1.5"
app:viewpager_headerAdditionalHeight="20dp"
app:viewpager_displayToolbarWhenSwipe="true"
app:viewpager_transparentToolbar="true"
app:viewpager_animatedHeaderImage="true"
app:viewpager_disableToolbar="false">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
>
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="40dp"
android:layout_height="30dp"
android:src="@drawable/home_back_1"
/>
</RelativeLayout>
</com.github.florent37.materialviewpager.MaterialViewPager>
</LinearLayout>

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginBottom="@dimen/cardMarginVertical"
android:layout_marginLeft="@dimen/cardMarginHorizontal"
android:layout_marginRight="@dimen/cardMarginHorizontal"
android:layout_marginTop="@dimen/cardMarginVertical"
app:cardCornerRadius="2dp"
app:cardElevation="2dp"
app:cardPreventCornerOverlap="false"
android:clickable="true"
app:contentPadding="0dp">
android:foreground="?android:attr/selectableItemBackgroundBorderless"
</androidx.cardview.widget.CardView>
</FrameLayout>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!--这是chat区配置上面logo区域这里默认是Health isEverything-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/logo_white"
android:layout_width="wrap_content"
android:layout_height="@dimen/materialviewpager_logoHeight"
android:text="Health is Everything"
android:textSize="30sp"
android:textColor="@android:color/white"/>

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:folding-cell="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.ramotion.foldingcell.FoldingCell
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/folding_cell"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/cardMarginVertical"
android:layout_marginLeft="@dimen/cardMarginHorizontal"
android:layout_marginRight="@dimen/cardMarginHorizontal"
android:layout_marginTop="@dimen/cardMarginVertical"
android:clipChildren="false"
android:clipToPadding="false"
android:elevation="0dp"
folding-cell:animationDuration="1000"
folding-cell:backSideColor="@color/blue"
folding-cell:additionalFlipsCount="15">
<!-- 展开后-->
<FrameLayout
android:id="@+id/cell_content_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_dark"
android:visibility="gone">
<!-- 头像-->
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:background="@drawable/van"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="80dp"
android:text="这是展开后"/>
<ImageView
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_marginTop="180dp"
android:src="@drawable/home_back_1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1300dp"
android:text="这是展开后"/>
<!-- <TextView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="250dp"-->
<!-- android:text="jkadiekeieii"-->
<!-- android:textColor="@color/white"/>-->
</FrameLayout>
<!-- 展开前-->
<FrameLayout
android:id="@+id/cell_title_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:background="@drawable/van"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="90dp"
android:text="这是未展开前"></TextView>
</FrameLayout>
</com.ramotion.foldingcell.FoldingCell>
</LinearLayout>
Loading…
Cancel
Save