效果图
ContactActivity.java
package com.example.qq;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.view.Display;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class ContactActivity extends AppCompatActivity {
private BottomNavigationView navigationView;
private ImageView img1,img2;
private boolean Display;
private LinearLayout llFriends;
private TextView Time;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact);
initView();
Display=true;
navigationView.setSelectedItemId(R.id.contact);
navigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.message:
startActivity(new Intent(getApplicationContext(),MessageActivity.class));
overridePendingTransition(0,0);
return true;
case R.id.contact:
return true;
case R.id.dynamics:
startActivity(new Intent(getApplicationContext(),DynamicsActivity.class));
overridePendingTransition(0,0);
return true;
}
return false;
}
});
}
private void initView() {
img2=findViewById(R.id.img_2);
img1=findViewById(R.id.img_1);
llFriends=findViewById(R.id.ll_friendlist);
navigationView=findViewById(R.id.navigation_bottom);
}
//点击我的好友显示内容
public void display_friends(View view) {
if(Display==true){
img1.setVisibility(View.INVISIBLE);
img2.setImageResource(R.drawable.jt_bottoms);
img2.setVisibility(View.VISIBLE);
llFriends.setVisibility(View.VISIBLE);
ContactFragment contactFragment=new ContactFragment();
FragmentManager supportFragmentManager=getSupportFragmentManager();
FragmentTransaction fragmentTransaction=supportFragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.message_fl,contactFragment);
fragmentTransaction.commit();
Display=false;
}else{
img2.setVisibility(View.INVISIBLE);
img1.setVisibility(View.VISIBLE);
llFriends.setVisibility(View.INVISIBLE);
Display=true;
}
}
}
ContactData.java
package com.example.qq;
public class ContactData {
private final String[] titles={"勿忘我","花开富贵","四季平安",
"微笑","幸福人生","平安快乐",
"知足常乐","苦中百合花","精彩人生"};
private final String[] prices={
"[5G在线]",
"[4G在线]",
"[WiFi在线]" ,
"[5G在线]",
"[4G在线]",
"[携手抗疫]",
"[iPhone在线]",
"[手机在线]",
"[电脑在线]",
"[4G在线]"
};
private final int[] imgs={R.drawable.img_12,R.drawable.img_11,
R.drawable.img_13,R.drawable.img_14,
R.drawable.img_15,R.drawable.img_16,R.drawable.img_17,
R.drawable.img_18,R.drawable.img_19};
public String[] getTitles() {
return titles;
}
public String[] getPrices() {
return prices;
}
public int[] getImgs() {
return imgs;
}
}
ContactFragment.java
package com.example.qq;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.view.menu.MenuAdapter;
import androidx.fragment.app.Fragment;
import java.util.Objects;
public class ContactFragment extends Fragment {
private ListView messageLv;
private View view;
private ContactData contactData;
private ListView LV;
private LayoutInflater inflaterGetView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view=inflater.inflate(R.layout.message_list,container,false);
if(view!=null){
initView();
}
contactData=new ContactData();
inflaterGetView = getLayoutInflater();
LV.setAdapter(new MyBaseAdapter());
return view;
}
class MyBaseAdapter extends BaseAdapter {
@Override
public int getCount() {
return contactData.getTitles().length;
}
@Override
public Object getItem(int i) {
return contactData.getPrices()[i];
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View views, ViewGroup viewGroup) {
ViewHolder holder;
if(views==null){
views=inflaterGetView.inflate(R.layout.item_layout_c,null);
holder=new ViewHolder();
holder.title=views.findViewById(R.id.message_tv_title);
holder.price=views.findViewById(R.id.message_tv_content);
holder.iv=views.findViewById(R.id.message_img);
views.setTag(holder);
}else{
holder= (ViewHolder) views.getTag();
}
holder.title.setText(contactData.getTitles()[i]);
holder.price.setText(contactData.getPrices()[i]);
holder.iv.setBackgroundResource(contactData.getImgs()[i]);
return views;
}
}
private void initView() {
LV=view.findViewById(R.id.message_lv);
}
class ViewHolder {
TextView title;
TextView price;
ImageView iv;
}
}
activity_contact.xml
<?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:layout_height="match_parent"
tools:context=".ContactActivity">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/navigation_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#F3F3F3"
app:itemIconTint="@drawable/ic_home"
app:itemTextColor="@drawable/ic_home"
app:layout_constraintBottom_toBottomOf="parent"
app:menu="@menu/navigation"
/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/g1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.07"
/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/g2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.07"
/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/g3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.93"
/>
<LinearLayout
android:id="@+id/ll_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp"
app:layout_constraintTop_toTopOf="@id/g1"
android:padding="10dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="新朋友"
android:layout_weight="9"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
/>
<ImageView
android:layout_width="17dp"
android:layout_height="16dp"
android:layout_gravity="center"
android:background="@drawable/jt_right" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_tops"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp"
app:layout_constraintTop_toBottomOf="@id/ll_top"
android:padding="10dp"
>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="群通知"
android:layout_weight="9"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
/>
<ImageView
android:layout_width="17dp"
android:layout_height="16dp"
android:layout_gravity="center"
android:background="@drawable/jt_right"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/underline"
app:layout_constraintTop_toBottomOf="@id/ll_tops"
/>
<LinearLayout
android:id="@+id/ll_bot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="15dp"
app:layout_constraintTop_toBottomOf="@id/ll_tops"
android:padding="10dp"
>
<ImageView
android:layout_width="17dp"
android:layout_height="16dp"
android:layout_gravity="center"
android:background="@drawable/jt_rights"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="特别关心"
android:layout_weight="9"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0/0"
android:textSize="14sp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_bots"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:onClick="display_friends"
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@id/ll_bot"
android:padding="10dp"
>
<ImageView
android:id="@+id/img_1"
android:layout_width="17dp"
android:layout_height="16dp"
android:layout_gravity="center"
android:background="@drawable/jt_rights"
/>
<ImageView
android:id="@+id/img_2"
android:layout_width="17dp"
android:layout_height="16dp"
android:layout_gravity="center"
android:layout_marginLeft="-18dp"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="我的好友"
android:layout_weight="9"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9/9"
android:textSize="14sp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_friendlist"
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/ll_bots"
app:layout_constraintBottom_toTopOf="@id/navigation_bottom"
app:layout_constraintLeft_toLeftOf="parent"
android:visibility="visible"
>
<FrameLayout
android:id="@+id/message_fl"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
<EditText
android:id="@+id/message_search"
android:layout_width="350dp"
android:layout_height="30dp"
android:hint="搜索"
android:textSize="16sp"
android:gravity="center"
android:background="@drawable/ed_style_message"
android:layout_marginBottom="6dp"
app:layout_constraintBottom_toBottomOf="@id/g1"
app:layout_constraintLeft_toLeftOf="@id/g2"
app:layout_constraintRight_toRightOf="@id/g3"
/>
</androidx.constraintlayout.widget.ConstraintLayout>