Commit 79e40df4 authored by fallenstardust's avatar fallenstardust

添加聊天室fragment

为萌卡fragment添加承接聊天室fragment的布局
修改聊天气泡风格
parent bf2b1a3f
...@@ -23,6 +23,7 @@ import cn.garymb.ygomobile.ui.activities.BaseActivity; ...@@ -23,6 +23,7 @@ import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.cards.CardSearchFragment; import cn.garymb.ygomobile.ui.cards.CardSearchFragment;
import cn.garymb.ygomobile.ui.cards.DeckManagerFragment; import cn.garymb.ygomobile.ui.cards.DeckManagerFragment;
import cn.garymb.ygomobile.ui.mycard.MycardFragment; import cn.garymb.ygomobile.ui.mycard.MycardFragment;
import cn.garymb.ygomobile.ui.mycard.mcchat.MycardChatFragment;
import cn.garymb.ygomobile.ui.settings.SettingFragment; import cn.garymb.ygomobile.ui.settings.SettingFragment;
import cn.garymb.ygomobile.utils.ScreenUtil; import cn.garymb.ygomobile.utils.ScreenUtil;
...@@ -39,6 +40,7 @@ public abstract class HomeActivity extends BaseActivity implements BottomNavigat ...@@ -39,6 +40,7 @@ public abstract class HomeActivity extends BaseActivity implements BottomNavigat
public DeckManagerFragment fragment_deck_cards; public DeckManagerFragment fragment_deck_cards;
public MycardFragment fragment_mycard; public MycardFragment fragment_mycard;
public SettingFragment fragment_settings; public SettingFragment fragment_settings;
public MycardChatFragment fragment_mycard_chatting_room;
private Bundle mBundle; private Bundle mBundle;
...@@ -108,6 +110,9 @@ public abstract class HomeActivity extends BaseActivity implements BottomNavigat ...@@ -108,6 +110,9 @@ public abstract class HomeActivity extends BaseActivity implements BottomNavigat
fragment_deck_cards = new DeckManagerFragment(); fragment_deck_cards = new DeckManagerFragment();
fragment_mycard = new MycardFragment(); fragment_mycard = new MycardFragment();
fragment_settings = new SettingFragment(); fragment_settings = new SettingFragment();
fragment_mycard_chatting_room = new MycardChatFragment();
mFragment = fragment_home; mFragment = fragment_home;
getSupportFragmentManager().beginTransaction().add(R.id.fragment_content, fragment_home).commit(); getSupportFragmentManager().beginTransaction().add(R.id.fragment_content, fragment_home).commit();
getSupportActionBar().hide(); getSupportActionBar().hide();
......
...@@ -40,9 +40,11 @@ import cn.garymb.ygomobile.YGOStarter; ...@@ -40,9 +40,11 @@ import cn.garymb.ygomobile.YGOStarter;
import cn.garymb.ygomobile.base.BaseFragemnt; import cn.garymb.ygomobile.base.BaseFragemnt;
import cn.garymb.ygomobile.lite.BuildConfig; import cn.garymb.ygomobile.lite.BuildConfig;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.mycard.base.OnJoinChatListener; import cn.garymb.ygomobile.ui.mycard.base.OnJoinChatListener;
import cn.garymb.ygomobile.ui.mycard.mcchat.ChatListener; import cn.garymb.ygomobile.ui.mycard.mcchat.ChatListener;
import cn.garymb.ygomobile.ui.mycard.mcchat.ChatMessage; import cn.garymb.ygomobile.ui.mycard.mcchat.ChatMessage;
import cn.garymb.ygomobile.ui.mycard.mcchat.MycardChatFragment;
import cn.garymb.ygomobile.ui.mycard.mcchat.management.ServiceManagement; import cn.garymb.ygomobile.ui.mycard.mcchat.management.ServiceManagement;
import cn.garymb.ygomobile.ui.mycard.mcchat.management.UserManagement; import cn.garymb.ygomobile.ui.mycard.mcchat.management.UserManagement;
import cn.garymb.ygomobile.utils.YGOUtil; import cn.garymb.ygomobile.utils.YGOUtil;
...@@ -51,6 +53,7 @@ import cn.garymb.ygomobile.utils.glide.GlideCompat; ...@@ -51,6 +53,7 @@ import cn.garymb.ygomobile.utils.glide.GlideCompat;
public class MycardFragment extends BaseFragemnt implements View.OnClickListener, MyCard.MyCardListener, OnJoinChatListener, ChatListener { public class MycardFragment extends BaseFragemnt implements View.OnClickListener, MyCard.MyCardListener, OnJoinChatListener, ChatListener {
private static final int FILECHOOSER_RESULTCODE = 10; private static final int FILECHOOSER_RESULTCODE = 10;
private static final int TYPE_MC_LOGIN = 0; private static final int TYPE_MC_LOGIN = 0;
private HomeActivity homeActivity;
//头像昵称账号 //头像昵称账号
private ImageView mHeadView; private ImageView mHeadView;
private TextView mNameView, mStatusView; private TextView mNameView, mStatusView;
...@@ -89,9 +92,11 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -89,9 +92,11 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
@Override @Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState); super.onCreateView(inflater, container, savedInstanceState);
homeActivity = (HomeActivity)getActivity();
View view; View view;
view = inflater.inflate(R.layout.fragment_mycard, container, false); view = inflater.inflate(R.layout.fragment_mycard, container, false);
initView(view); initView(view);
initData();
return view; return view;
} }
...@@ -173,6 +178,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -173,6 +178,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
}); });
mMyCard.attachWeb(mWebViewPlus, this); mMyCard.attachWeb(mWebViewPlus, this);
mWebViewPlus.loadUrl(mMyCard.getHomeUrl()); mWebViewPlus.loadUrl(mMyCard.getHomeUrl());
getChildFragmentManager().beginTransaction().add(R.id.fragment_content, homeActivity.fragment_mycard_chatting_room).hide(homeActivity.fragment_mycard_chatting_room).commit();
} }
private void initData() { private void initData() {
...@@ -238,32 +244,6 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -238,32 +244,6 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
mUploadCallbackAboveL = null; mUploadCallbackAboveL = null;
} }
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (doMenu(item.getItemId())) {
return true;
}
return super.onOptionsItemSelected(item);
}
private boolean doMenu(int id) {
switch (id) {
case R.id.action_home:
onHome();
break;/*
case R.id.action_arena:
mWebViewPlus.loadUrl(mMyCard.getArenaUrl());
break;
case R.id.action_bbs:
mWebViewPlus.loadUrl(mMyCard.getBBSUrl());
break;*/
default:
return false;
}
return true;
}
/** /**
* 第一次fragment可见(进行初始化工作) * 第一次fragment可见(进行初始化工作)
*/ */
...@@ -325,6 +305,11 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -325,6 +305,11 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
break; break;
case R.id.rl_chat: case R.id.rl_chat:
//这里显示聊天室fragment //这里显示聊天室fragment
if (homeActivity.fragment_mycard_chatting_room.isHidden()) {
getChildFragmentManager().beginTransaction().show(homeActivity.fragment_mycard_chatting_room).commit();
} else {
getChildFragmentManager().beginTransaction().hide(homeActivity.fragment_mycard_chatting_room).commit();
}
break; break;
} }
} }
...@@ -360,7 +345,6 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -360,7 +345,6 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
@Override @Override
public void onChatLogin(String exception) { public void onChatLogin(String exception) {
Log.e("MyCardFragment", "登录情况" + exception);
pb_chat_loading.setVisibility(View.GONE); pb_chat_loading.setVisibility(View.GONE);
if (TextUtils.isEmpty(exception)) { if (TextUtils.isEmpty(exception)) {
if (currentMessage == null) { if (currentMessage == null) {
...@@ -381,14 +365,12 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -381,14 +365,12 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
@Override @Override
public void onChatLoginLoading() { public void onChatLoginLoading() {
Log.e("MyCardFragment", "加载中");
pb_chat_loading.setVisibility(View.VISIBLE); pb_chat_loading.setVisibility(View.VISIBLE);
tv_message.setText(R.string.logining_in); tv_message.setText(R.string.logining_in);
} }
@Override @Override
public void onJoinRoomLoading() { public void onJoinRoomLoading() {
Log.e("MyCardFragment", "加入房间中");
pb_chat_loading.setVisibility(View.VISIBLE); pb_chat_loading.setVisibility(View.VISIBLE);
tv_message.setText(R.string.logining_in); tv_message.setText(R.string.logining_in);
} }
...@@ -421,9 +403,9 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -421,9 +403,9 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
public void reChatLogin(boolean state) { public void reChatLogin(boolean state) {
pb_chat_loading.setVisibility(View.VISIBLE); pb_chat_loading.setVisibility(View.VISIBLE);
if (state) { if (state) {
tv_message.setText("登录成功"); tv_message.setText(R.string.login_succeed);
} else { } else {
tv_message.setText("连接断开,重新登录中……"); tv_message.setText(R.string.miss_connection);
} }
} }
...@@ -433,7 +415,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -433,7 +415,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
if (state) { if (state) {
onChatLogin(null); onChatLogin(null);
} else { } else {
tv_message.setText("重新加入聊天室中……"); tv_message.setText(R.string.reChatJoining);
} }
} }
} }
...@@ -4,6 +4,7 @@ import android.os.Bundle; ...@@ -4,6 +4,7 @@ import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
...@@ -18,51 +19,71 @@ import com.ourygo.assistant.util.Util; ...@@ -18,51 +19,71 @@ import com.ourygo.assistant.util.Util;
import cn.garymb.ygomobile.base.BaseFragemnt; import cn.garymb.ygomobile.base.BaseFragemnt;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.mycard.mcchat.adapter.ChatAdapter; import cn.garymb.ygomobile.ui.mycard.mcchat.adapter.ChatAdapter;
import cn.garymb.ygomobile.ui.mycard.mcchat.management.ServiceManagement; import cn.garymb.ygomobile.ui.mycard.mcchat.management.ServiceManagement;
import cn.garymb.ygomobile.utils.YGOUtil; import cn.garymb.ygomobile.utils.YGOUtil;
public class MycardChatFragment extends BaseFragemnt implements ChatListener { public class MycardChatFragment extends BaseFragemnt implements ChatListener {
private HomeActivity homeActivity;
private EditText main_send_message; private EditText main_send_message;
private ImageButton main_send; private Button main_send;
private RecyclerView main_rec; private RecyclerView main_rec;
private TextView main_title; private TextView main_title;
private Button btn_hide;
private LinearLayout main_bottom_bar; private LinearLayout main_bottom_bar;
private ChatAdapter cadp; private ChatAdapter cadp;
private ServiceManagement su; private ServiceManagement serviceManagement;
@Nullable @Nullable
@Override @Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState); super.onCreateView(inflater, container, savedInstanceState);
homeActivity = (HomeActivity) getActivity();
View view; View view;
view = inflater.inflate(R.layout.fragment_mycard_chating_room, container, false); view = inflater.inflate(R.layout.fragment_mycard_chating_room, container, false);
initView(view); initView(view);
return view; return view;
} }
private void initView(View view) {
serviceManagement = ServiceManagement.getDx();
cadp = new ChatAdapter(getContext(), serviceManagement.getData());
serviceManagement.addListener(this);
main_rec = view.findViewById(R.id.main_rec);
main_send = view.findViewById(R.id.main_send);
main_send_message = view.findViewById(R.id.main_send_message);
main_title = view.findViewById(R.id.main_title);
btn_hide = view.findViewById(R.id.btn_hide);
main_bottom_bar = view.findViewById(R.id.main_bottom_bar);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
linearLayoutManager.setStackFromEnd(true); //关键 设置此项,当软键盘弹出时,布局会自动顶上去,在结合AndroidManifest.xml设置属性
main_rec.setLayoutManager(linearLayoutManager);
main_rec.setAdapter(cadp);
initListener();
}
@Override @Override
public void reChatLogin(boolean state) { public void reChatLogin(boolean state) {
main_bottom_bar.setVisibility(View.GONE); main_bottom_bar.setVisibility(View.GONE);
if (state) { if (state) {
main_title.setText(R.string.logining_in); main_title.setText(R.string.logining_in);
} else { } else {
main_title.setText("连接断开,重新登录中……"); main_title.setText(R.string.miss_connection);
} }
// TODO: Implement this method
} }
@Override @Override
public void reChatJoin(boolean state) { public void reChatJoin(boolean state) {
if (state) { if (state) {
main_bottom_bar.setVisibility(View.VISIBLE); main_bottom_bar.setVisibility(View.VISIBLE);
main_title.setText(getResources().getString(R.string.app_name)); main_title.setText(getString(R.string.mc_chat) + "("+serviceManagement.getMemberNum() + ")");
} else { } else {
main_bottom_bar.setVisibility(View.GONE); main_bottom_bar.setVisibility(View.GONE);
main_title.setText("重新加入聊天室中……"); main_title.setText(R.string.reChatJoining);
} }
// TODO: Implement this method
} }
@Override @Override
...@@ -73,57 +94,34 @@ public class MycardChatFragment extends BaseFragemnt implements ChatListener { ...@@ -73,57 +94,34 @@ public class MycardChatFragment extends BaseFragemnt implements ChatListener {
@Override @Override
public void addChatMessage(ChatMessage message) { public void addChatMessage(ChatMessage message) {
cadp.sx(); cadp.sx();
main_rec.smoothScrollToPosition(su.getData().size() - 1); main_rec.smoothScrollToPosition(serviceManagement.getData().size() - 1);
// TODO: Implement this method
} }
@Override @Override
public void removeChatMessage(ChatMessage message) { public void removeChatMessage(ChatMessage message) {
// TODO: Implement this method
}
private void initView(View view) {
main_rec = view.findViewById(R.id.main_rec);
main_send = view.findViewById(R.id.main_send);
main_send_message = view.findViewById(R.id.main_send_message);
main_title = view.findViewById(R.id.main_title);
main_bottom_bar = view.findViewById(R.id.main_bottom_bar);
su = ServiceManagement.getDx();
cadp = new ChatAdapter(getContext(), su.getData());
su.addListener(this);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
linearLayoutManager.setStackFromEnd(true); //关键 设置此项,当软键盘弹出时,布局会自动顶上去,在结合AndroidManifest.xml设置属性
main_rec.setLayoutManager(linearLayoutManager);
main_rec.setAdapter(cadp);
initListener();
// TODO: Implement this method
} }
private void initListener() { private void initListener() {
main_send.setOnClickListener(p1 -> { main_send.setOnClickListener(p1 -> {
String message = main_send_message.getText().toString().trim(); String message = main_send_message.getText().toString().trim();
if (message.equals("")) { if (message.equals("")) {
YGOUtil.show( getString(R.string.noting_to_send)); YGOUtil.show(getString(R.string.noting_to_send));
} else { } else {
try { try {
su.sendMessage(message); serviceManagement.sendMessage(message);
main_send_message.setText(""); main_send_message.setText("");
} catch (Exception e) { } catch (Exception e) {
YGOUtil.show( getString(R.string.sending_failed)); YGOUtil.show(getString(R.string.sending_failed));
} }
} }
// TODO: Implement this method
}); });
// TODO: Implement this method btn_hide.setOnClickListener(p1 -> {
getParentFragmentManager().beginTransaction().hide(homeActivity.fragment_mycard_chatting_room).commit();
});
} }
@Override @Override
public void onDestroy() { public void onDestroy() {
// TODO: Implement this method
super.onDestroy(); super.onDestroy();
// su.disClass(); // su.disClass();
// UserManagement.setUserName(null); // UserManagement.setUserName(null);
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button2_p" android:state_pressed="true" /> <item android:drawable="@drawable/radius" android:state_pressed="true" />
<item android:drawable="@drawable/button2_n" /> <item android:drawable="@drawable/radius_p" />
</selector> </selector>
\ No newline at end of file
...@@ -10,13 +10,13 @@ ...@@ -10,13 +10,13 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#aa000000"/> android:background="#aa000000" />
<FrameLayout <FrameLayout
android:id="@+id/fragment_content" android:id="@+id/fragment_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="70dp"> android:layout_marginBottom="70dp"></FrameLayout>
</FrameLayout>
<com.ashokvarma.bottomnavigation.BottomNavigationBar <com.ashokvarma.bottomnavigation.BottomNavigationBar
android:id="@+id/bottom_navigation_bar" android:id="@+id/bottom_navigation_bar"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout" android:id="@+id/drawer_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/dialogshort" android:background="@drawable/dialogshort"
android:weightSum="12"
android:orientation="vertical"> android:orientation="vertical">
<FrameLayout <FrameLayout
android:id="@+id/rl_head" android:id="@+id/fl_head"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="60dp"
android:layout_weight="1"
android:orientation="vertical" android:orientation="vertical"
android:padding="10dp"> android:padding="10dp">
...@@ -68,54 +66,74 @@ ...@@ -68,54 +66,74 @@
android:visibility="gone" /> android:visibility="gone" />
</FrameLayout> </FrameLayout>
<cn.garymb.ygomobile.ui.mycard.MyCardWebView <FrameLayout
android:id="@+id/webbrowser"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="match_parent">
android:layout_weight="10">
<ProgressBar <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/progressBar"
style="@style/StyleProgressBarMini"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="5px" /> android:layout_height="match_parent"
android:orientation="vertical">
</cn.garymb.ygomobile.ui.mycard.MyCardWebView> <cn.garymb.ygomobile.ui.mycard.MyCardWebView
android:id="@+id/webbrowser"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10">
<RelativeLayout <ProgressBar
android:id="@+id/rl_chat" android:id="@+id/progressBar"
android:layout_width="match_parent" style="@style/StyleProgressBarMini"
android:layout_height="0dp" android:layout_width="match_parent"
android:layout_weight="1" android:layout_height="5px" />
android:orientation="vertical"
android:padding="10dp">
<androidx.appcompat.widget.AppCompatTextView </cn.garymb.ygomobile.ui.mycard.MyCardWebView>
android:id="@+id/tv_message_s"
android:layout_width="wrap_content" <RelativeLayout
android:layout_height="wrap_content" android:id="@+id/rl_chat"
android:text="@string/mc_chat" android:layout_width="match_parent"
android:textColor="@color/holo_green_bright" android:layout_height="0dp"
android:textStyle="bold" /> android:layout_weight="1"
android:layout_gravity="bottom"
<ProgressBar android:background="@drawable/button_bg"
android:id="@+id/pb_chat_loading" android:orientation="vertical"
android:layout_width="15dp" android:padding="10dp">
android:layout_height="15dp"
android:layout_marginLeft="10dp" <androidx.appcompat.widget.AppCompatTextView
android:layout_marginTop="5dp" android:id="@+id/tv_message_s"
android:layout_toRightOf="@id/tv_message_s" /> android:layout_width="wrap_content"
android:layout_height="wrap_content"
<androidx.appcompat.widget.AppCompatTextView android:text="@string/mc_chat"
android:id="@+id/tv_message" android:layout_centerVertical="true"
android:layout_width="wrap_content" android:textColor="@color/holo_green_bright"
android:layout_height="wrap_content" android:textStyle="bold" />
android:layout_below="@id/tv_message_s"
android:layout_marginTop="5dp" <ProgressBar
android:ellipsize="end" android:id="@+id/pb_chat_loading"
android:lines="1" android:layout_width="15dp"
android:text="" android:layout_height="15dp"
android:textColor="@color/holo_orange_bright" android:layout_marginLeft="10dp"
android:textSize="10sp" /> android:layout_marginTop="5dp"
</RelativeLayout> android:layout_centerVertical="true"
</LinearLayout> android:layout_toRightOf="@id/tv_message_s" />
\ No newline at end of file
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_toRightOf="@id/pb_chat_loading"
android:layout_centerVertical="true"
android:ellipsize="end"
android:lines="1"
android:text=""
android:textColor="@color/holo_orange_bright" />
</RelativeLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.fragment.app.FragmentContainerView
android:id="@+id/fragment_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
\ No newline at end of file
...@@ -2,28 +2,45 @@ ...@@ -2,28 +2,45 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/background" android:background="@drawable/button_n"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/mediumPurpleLight"> android:background="@color/transparent">
<TextView <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/main_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:orientation="horizontal">
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:text="@string/mc_chat"
android:textColor="@color/white"
android:textSize="20sp" />
</RelativeLayout> <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/img_head"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/mycard" />
<TextView
android:id="@+id/main_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="@string/mc_chat"
android:textColor="@color/holo_green_bright"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_hide"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="right|center"
android:background="@drawable/ic_close_black_24dp"
android:gravity="center" />
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/main_rec" android:id="@+id/main_rec"
...@@ -35,21 +52,27 @@ ...@@ -35,21 +52,27 @@
android:id="@+id/main_bottom_bar" android:id="@+id/main_bottom_bar"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/white" android:background="@color/transparent"
android:gravity="center" android:gravity="center"
android:orientation="horizontal" android:orientation="horizontal">
android:padding="7dp">
<EditText <com.google.android.material.textfield.TextInputLayout
android:id="@+id/main_send_message"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="10" android:layout_weight="8">
android:background="@drawable/chat_edittext_background"
android:maxEms="3" <androidx.appcompat.widget.AppCompatEditText
android:padding="7dp" android:id="@+id/main_send_message"
android:textColor="@color/black" android:layout_width="match_parent"
android:textSize="15sp" /> android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/edit_your_message"
android:imeOptions="actionSend"
android:inputType="textNoSuggestions"
android:maxLines="1"
android:singleLine="true"
android:textColorHint="@color/holo_green_bright" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
...@@ -59,14 +82,15 @@ ...@@ -59,14 +82,15 @@
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<ImageButton <Button
android:id="@+id/main_send" android:id="@+id/main_send"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/chat_message_background" android:background="@drawable/button2_bg"
android:gravity="center" android:gravity="center"
android:src="@drawable/ic_send_black_24dp" android:src="@drawable/ic_send_black_24dp"
android:text="@string/send" android:text="@string/send"
android:textColor="@color/brightgreen"
android:textSize="12sp" /> android:textSize="12sp" />
</LinearLayout> </LinearLayout>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:layout_marginBottom="5dp" android:layout_marginBottom="5dp"
android:layout_toRightOf="@id/ic_avatar" android:layout_toRightOf="@id/ic_avatar"
android:background="@drawable/chat_message_background" android:background="@drawable/radius"
android:descendantFocusability="blocksDescendants" android:descendantFocusability="blocksDescendants"
android:orientation="vertical" android:orientation="vertical"
android:padding="8dp"> android:padding="8dp">
...@@ -32,8 +32,8 @@ ...@@ -32,8 +32,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingBottom="4dp" android:paddingBottom="4dp"
android:text="name" android:text="name"
android:textColor="#B8630C" android:textColor="@color/white"
android:textSize="13sp" android:textSize="10sp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView <TextView
...@@ -41,8 +41,8 @@ ...@@ -41,8 +41,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="message" android:text="message"
android:textColor="#000000" android:textColor="@color/holo_blue_bright"
android:textSize="16sp" /> android:textSize="13sp" />
</LinearLayout> </LinearLayout>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:layout_marginBottom="5dp" android:layout_marginBottom="5dp"
android:layout_toLeftOf="@id/icm_avatar" android:layout_toLeftOf="@id/icm_avatar"
android:background="@drawable/chat_message_me_background" android:background="@drawable/radius_p"
android:descendantFocusability="blocksDescendants" android:descendantFocusability="blocksDescendants"
android:orientation="vertical" android:orientation="vertical"
android:padding="8dp"> android:padding="8dp">
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
android:layout_height="0px" android:layout_height="0px"
android:paddingBottom="4dp" android:paddingBottom="4dp"
android:text="name" android:text="name"
android:textColor="#B8630C" android:textColor="@color/holo_blue_bright"
android:textSize="13sp" android:textSize="10sp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView <TextView
...@@ -42,8 +42,8 @@ ...@@ -42,8 +42,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="message" android:text="message"
android:textColor="#000000" android:textColor="@color/brightgreen"
android:textSize="16sp" /> android:textSize="13sp" />
</LinearLayout> </LinearLayout>
......
<?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="match_parent"
android:paddingLeft="10dp"
android:orientation="horizontal"
android:background="@drawable/bg">
</LinearLayout>
\ No newline at end of file
...@@ -329,4 +329,8 @@ ...@@ -329,4 +329,8 @@
<string name="login_mycard">로그인</string> <string name="login_mycard">로그인</string>
<string name="logout_mycard">로그아웃\?</string> <string name="logout_mycard">로그아웃\?</string>
<string name="back_to_mycard_home">return to MyCard homepage</string> <string name="back_to_mycard_home">return to MyCard homepage</string>
<string name="edit_your_message">Input your message</string>
<string name="login_succeed">Chatroom logined</string>
<string name="miss_connection">miss connection, relogining</string>
<string name="reChatJoining">relogining\.\.\.</string>
</resources> </resources>
...@@ -329,4 +329,8 @@ ...@@ -329,4 +329,8 @@
<string name="bot_mode">人机练习</string> <string name="bot_mode">人机练习</string>
<string name="personal">我的</string> <string name="personal">我的</string>
<string name="back_to_mycard_home">返回萌卡首页</string> <string name="back_to_mycard_home">返回萌卡首页</string>
<string name="edit_your_message">输入聊天内容</string>
<string name="login_succeed">登录成功</string>
<string name="miss_connection">连接断开,重新登陆中……</string>
<string name="reChatJoining">连接断开,重新登陆中……</string>
</resources> </resources>
...@@ -339,4 +339,8 @@ ...@@ -339,4 +339,8 @@
<string name="login_mycard">login</string> <string name="login_mycard">login</string>
<string name="logout_mycard">Logout mycard\?</string> <string name="logout_mycard">Logout mycard\?</string>
<string name="back_to_mycard_home">return to MyCard homepage</string> <string name="back_to_mycard_home">return to MyCard homepage</string>
<string name="edit_your_message">Input your message</string>
<string name="login_succeed">Chatroom logined</string>
<string name="miss_connection">miss connection, relogining</string>
<string name="reChatJoining">relogining\.\.\.</string>
</resources> </resources>
...@@ -96,9 +96,7 @@ ...@@ -96,9 +96,7 @@
<item name="android:maxHeight">50dp</item> <item name="android:maxHeight">50dp</item>
<item name="android:minHeight">10dp</item> <item name="android:minHeight">10dp</item>
<item name="android:indeterminateOnly">false</item> <item name="android:indeterminateOnly">false</item>
<item name="android:indeterminateDrawable"> <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>
@android:drawable/progress_indeterminate_horizontal
</item>
<item name="android:progressDrawable">@drawable/progressbar</item> <item name="android:progressDrawable">@drawable/progressbar</item>
</style> </style>
......
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