From 20d84ebd9ad20d2b2bdd3a82de2a968f38898294 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 09 四月 2025 21:08:09 +0800 Subject: [PATCH] 2025年04月09日21:08:06 --- app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java | 80 ++++++- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java | 100 ++++++--- app/src/main/res/layout/fragment_message.xml | 5 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java | 121 ++++++---- app/src/main/res/layout/activity_device_search.xml | 4 app/src/main/res/layout/item_message_c.xml | 1 app/src/main/res/layout/activity_house_search.xml | 4 app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java | 98 ++++++-- app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java | 93 +++++-- app/src/main/res/layout/activity_power_stations_move.xml | 6 app/src/main/res/layout/activity_search_messge.xml | 4 app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java | 76 +++++- app/src/main/res/layout/activity_power_stations_list.xml | 6 app/src/main/res/layout/activity_message_center_list.xml | 12 14 files changed, 425 insertions(+), 185 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java index 0817798..f7eaead 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java @@ -3,7 +3,10 @@ import android.content.Context; import android.content.Intent; +import android.os.AsyncTask; import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; @@ -31,6 +34,8 @@ import com.hdl.photovoltaic.ui.adapter.SearchMessageAdapter; import com.hdl.photovoltaic.ui.bean.MessageBean; import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils; +import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; +import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; import java.util.ArrayList; import java.util.Collections; @@ -40,6 +45,9 @@ * 娑堟伅鎼滅储鐣岄潰 */ public class SearchMessageActivity extends CustomBaseActivity { + + private Handler handler; + private Runnable delayedRunnable; private ActivitySearchMessgeBinding viewBinding; @@ -90,6 +98,53 @@ } } + /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { + viewBinding.listSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + handler = new Handler(Looper.getMainLooper()); + + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.listSrl.endRefreshing(); + loadNextPageMessageList(true, 1, viewBinding.messageSearchEt.getText().toString(), true); + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 1000); + } + + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + + handler = new Handler(Looper.getMainLooper()); + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.listSrl.endLoadingMore(); + if (!isLoadingMore) { + // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 + loadNextPageMessageList(false, ++mCurrentPage, viewBinding.messageSearchEt.getText().toString(), false); + } + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 10); + + return true; + } + }); + HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true); + hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44); + hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh); + hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end); + viewBinding.listSrl.setRefreshViewHolder(hdlRefreshViewHolder); + } private void initEvent() { @@ -117,38 +172,6 @@ viewBinding.listParent.setVisibility(View.VISIBLE); addSearchTextToList(); loadNextPageMessageList(true, 1, viewBinding.messageSearchEt.getText().toString(), true); - } - }); - - - //涓嬫媺绠ご棰滆壊 - viewBinding.listSrl.setColorSchemeResources(R.color.text_FF245EC3); - //涓嬫媺璇诲彇 - viewBinding.listSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - viewBinding.listSrl.setRefreshing(false); - loadNextPageMessageList(true, 1, viewBinding.messageSearchEt.getText().toString(), true); - } - }); - //涓婃媺璇诲彇 - viewBinding.listRcv.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (layoutManager == null) { - return; - } - int visibleItemCount = layoutManager.getChildCount(); - int totalItemCount = layoutManager.getItemCount(); - int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); - if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) { - if (!isLoadingMore) { - // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 - HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴"); - loadNextPageMessageList(false, ++mCurrentPage, viewBinding.messageSearchEt.getText().toString(), false); - } - } } }); //娓呴櫎 @@ -246,6 +269,7 @@ viewBinding.messageSearchEt.requestFocus(); } }); + pullToRefresh(); //鍦ㄧ晫闈腑浣跨敤 KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() { @@ -321,6 +345,9 @@ if (searchHistoryTitleList.size() > 0) { HdlFileLogic.getInstance().deleteFile(getHistoryFileNamePath()); HdlFileLogic.getInstance().appendFile(getHistoryFileNamePath(), new Gson().toJson(searchHistoryTitleList)); + } + if (handler != null && delayedRunnable != null) { + handler.removeCallbacks(delayedRunnable); } super.onDestroy(); } @@ -471,4 +498,6 @@ public String getHistoryFileNamePath() { return HdlFileLogic.getInstance().getCurrentUserRootPath() + "/message.txt"; } + + } \ No newline at end of file diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java index 476ebb8..301c545 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java @@ -4,6 +4,8 @@ import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.view.View; import android.widget.TextView; @@ -34,6 +36,8 @@ import com.hdl.photovoltaic.ui.newC.adapter.MessageCenterListAdapter; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.widget.TypeTitleListDialog; +import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; +import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import org.greenrobot.eventbus.Subscribe; @@ -48,6 +52,9 @@ * C绔秷鎭腑蹇冨垪琛� */ public class MessageCenterList extends CustomBaseActivity { + + private Handler handler; + private Runnable delayedRunnable; private ActivityMessageCenterListBinding viewBinding; @@ -106,6 +113,14 @@ super.onResume(); //杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�) // loadNextPageMessageList(1, true, mFilterKye, mFilterValue); + } + + @Override + protected void onDestroy() { + if (handler != null && delayedRunnable != null) { + handler.removeCallbacks(delayedRunnable); + } + super.onDestroy(); } private void initEvent() { @@ -281,38 +296,6 @@ } }); - - //涓嬫媺鎸夐挳 - viewBinding.messageContentSrl.setColorSchemeResources(R.color.text_FF245EC3); - viewBinding.messageContentSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - viewBinding.messageContentSrl.setRefreshing(false); - loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue); - } - }); - //涓婃媺鎸夐挳 - viewBinding.messageContentRl.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { -// super.onScrolled(recyclerView, dx, dy); - - LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (layoutManager == null) { - return; - } - int visibleItemCount = layoutManager.getChildCount(); - int totalItemCount = layoutManager.getItemCount(); - int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); - if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) { - if (!isLoadingMore) { - // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 - HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴"); - loadNextPageMessageList(++mCurrentPage, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue); - } - } - } - }); if (messageCenterListAdapter != null) { messageCenterListAdapter.setNoOnclickListener(new MessageCenterListAdapter.OnclickListener() { @Override @@ -343,7 +326,9 @@ viewBinding.messageContentRl.setAdapter(messageCenterListAdapter); messageCenterListAdapter.setList(mList); // this.nullDataUpdateUi(); + pullToRefresh(); } + private void initData() { try { @@ -366,6 +351,55 @@ } /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { + viewBinding.messageContentSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + handler = new Handler(Looper.getMainLooper()); + + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.messageContentSrl.endRefreshing(); + loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue); + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 1000); + } + + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + + handler = new Handler(Looper.getMainLooper()); + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.messageContentSrl.endLoadingMore(); + if (!isLoadingMore) { + // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 + HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴"); + loadNextPageMessageList(++mCurrentPage, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue); + } + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 10); + + return true; + } + }); + HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true); + hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44); + hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh); + hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end); + viewBinding.messageContentSrl.setRefreshViewHolder(hdlRefreshViewHolder); + } + + /** * 鍔犺浇涓�椤垫暟鎹� * * @param pageNo 椤垫暟 diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java index efa0636..66a54a7 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java @@ -5,6 +5,8 @@ import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.os.SystemClock; import android.text.TextUtils; import android.util.Log; @@ -37,6 +39,8 @@ import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.PermissionExplanationDialog; +import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; +import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import org.greenrobot.eventbus.Subscribe; @@ -50,6 +54,8 @@ * C绔數绔欏垪琛ㄧ紪杈� */ public class PowerStationsListEdit extends CustomBaseActivity { + private Handler handler; + private Runnable delayedRunnable; private ActivityPowerStationsListBinding viewBinding;//鏄惁鍦ㄧ紪杈戠姸鎬� private HouseListAdapter houseListAdapter; @@ -101,15 +107,6 @@ } }); - //璁剧疆涓嬫媺绠ご棰滆壊 - viewBinding.fragmentHouseSrl.setColorSchemeResources(R.color.text_FF245EC3); - //鍒楄〃涓嬫媺鎸夐挳 - viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - downReadData(true); - } - }); if (houseListAdapter != null) { houseListAdapter.setOnItemClickListener(new HouseListAdapter.OnItemClickListener() { @Override @@ -165,6 +162,52 @@ viewBinding.fragmentHouseSrlListRc.setAdapter(houseListAdapter); houseListAdapter.setList(this.houseListBeanIDList); this.nullDataUpdateUi(houseListBeanIDList); + pullToRefresh(); + } + + /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { + viewBinding.fragmentHouseSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + handler = new Handler(Looper.getMainLooper()); + + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.fragmentHouseSrl.endRefreshing(); + downReadData(true); + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 1000); + } + + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + + handler = new Handler(Looper.getMainLooper()); + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.fragmentHouseSrl.endLoadingMore(); + + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 10); + + return true; + } + }); + HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true); + hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44); + hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh); + hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end); + viewBinding.fragmentHouseSrl.setRefreshViewHolder(hdlRefreshViewHolder); } /** @@ -173,6 +216,9 @@ * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 */ private void downReadData(boolean isRefreshing) { + if (isRefreshing) { + showLoading(); + } //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { @Override @@ -182,7 +228,7 @@ public void run() { if (isRefreshing) { //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦� - viewBinding.fragmentHouseSrl.setRefreshing(false); + hideLoading(); } if (list != null && !list.isEmpty()) { if (!comparableList(houseListBeanIDList, list)) { @@ -214,7 +260,7 @@ public void run() { if (isRefreshing) { //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦� - viewBinding.fragmentHouseSrl.setRefreshing(false); + hideLoading(); } HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")"); @@ -410,4 +456,12 @@ } catch (Exception e) { } } + + @Override + protected void onDestroy() { + if (handler != null && delayedRunnable != null) { + handler.removeCallbacks(delayedRunnable); + } + super.onDestroy(); + } } \ No newline at end of file diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java index 9ef7f82..17d04a5 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java @@ -2,6 +2,8 @@ import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.view.View; import androidx.recyclerview.widget.LinearLayoutManager; @@ -19,6 +21,8 @@ import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.ui.newC.adapter.HouseMoveAdapter; +import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; +import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; import java.util.ArrayList; import java.util.List; @@ -27,6 +31,8 @@ * C绔數绔欏垪琛ㄧЩ鍔ㄤ綅缃� */ public class PowerStationsMoveActivity extends CustomBaseActivity { + private Handler handler; + private Runnable delayedRunnable; private ActivityPowerStationsMoveBinding viewBinding;//鏄惁鍦ㄧ紪杈戠姸鎬� private HouseMoveAdapter houseMoveAdapter; @@ -56,6 +62,52 @@ this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList()); } + /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { + viewBinding.fragmentHouseSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + handler = new Handler(Looper.getMainLooper()); + + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.fragmentHouseSrl.endRefreshing(); + HdlResidenceLogic.getInstance().clearHouseList(); + downReadData(true); + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 1000); + } + + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + + handler = new Handler(Looper.getMainLooper()); + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.fragmentHouseSrl.endLoadingMore(); + + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 10); + + return true; + } + }); + HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true); + hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44); + hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh); + hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end); + viewBinding.fragmentHouseSrl.setRefreshViewHolder(hdlRefreshViewHolder); + } + private void initEvent() { //杩斿洖鎸夐挳 viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() { @@ -65,17 +117,6 @@ } }); - - //璁剧疆涓嬫媺绠ご棰滆壊 - viewBinding.fragmentHouseSrl.setColorSchemeResources(R.color.text_FF245EC3); - //鍒楄〃涓嬫媺鎸夐挳 - viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - HdlResidenceLogic.getInstance().clearHouseList(); - downReadData(true); - } - }); if (houseMoveAdapter != null) { //鐢电珯绉诲姩浣嶇疆鎸夐挳 houseMoveAdapter.setMoveOnclickListener(new HouseMoveAdapter.OnMoveClickListener() { @@ -125,6 +166,7 @@ viewBinding.fragmentHouseSrlListRc.setAdapter(houseMoveAdapter); houseMoveAdapter.setList(this.houseListBeanIDList); this.nullDataUpdateUi(houseListBeanIDList); + pullToRefresh(); } /** @@ -133,6 +175,10 @@ * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 */ private void downReadData(boolean isRefreshing) { + if (isRefreshing) { + //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦� + showLoading(); + } //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { @Override @@ -142,7 +188,7 @@ public void run() { if (isRefreshing) { //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦� - viewBinding.fragmentHouseSrl.setRefreshing(false); + hideLoading(); } if (list != null && list.size() > 0) { //鏇存柊缂撳瓨 @@ -167,7 +213,7 @@ public void run() { if (isRefreshing) { //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦� - viewBinding.fragmentHouseSrl.setRefreshing(false); + hideLoading(); } HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")"); @@ -184,5 +230,13 @@ HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.my_power_station_data_null), list != null && list.size() > 0); } + @Override + protected void onDestroy() { + if (handler != null && delayedRunnable != null) { + handler.removeCallbacks(delayedRunnable); + } + super.onDestroy(); + } + } \ No newline at end of file diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java index 5c99ae0..49eff41 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java @@ -6,7 +6,10 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import android.content.Context; +import android.os.AsyncTask; import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; @@ -36,6 +39,8 @@ import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils; import com.hdl.photovoltaic.utils.URLEncodingUtils; +import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; +import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; import com.hdl.sdk.link.core.config.HDLLinkConfig; import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; @@ -49,7 +54,8 @@ */ public class DeviceSearchActivity extends CustomBaseActivity { - + private Handler handler; + private Runnable delayedRunnable; private ActivityDeviceSearchBinding viewBinding; SearchDeviceAdapter searchDeviceAdapter;//璁惧閫傞厤鍣� @@ -57,9 +63,9 @@ private List<CloudInverterDeviceBean> deviceList = new ArrayList<>(); - private int currentHouseListPage = 0; // 褰撳墠鐢电珯鍒楄〃椤电爜 - private int currentHouseListTotal = 0; // 鐢电珯鍒楄〃鎬婚〉鐮� - private boolean isHouseLoadingMore = false; // 鏍囪鐢电珯鍒楄〃姝e湪鍔犺浇鏇村鏁版嵁 + private int currentDeviceListPage = 0; // 褰撳墠鐢电珯鍒楄〃椤电爜 + private int currentDeviceListTotal = 0; // 鐢电珯鍒楄〃鎬婚〉鐮� + private boolean isDeviceLoadingMore = false; // 鏍囪鐢电珯鍒楄〃姝e湪鍔犺浇鏇村鏁版嵁 private String currSearchText; @@ -97,6 +103,54 @@ } } + /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { + viewBinding.listSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + handler = new Handler(Looper.getMainLooper()); + + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.listSrl.endRefreshing(); + loadNextPageDeviceList(true, 1, true); + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 1000); + } + + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + + handler = new Handler(Looper.getMainLooper()); + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.listSrl.endLoadingMore(); + if (!isDeviceLoadingMore) { + // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 + HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴"); + loadNextPageDeviceList(false, ++currentDeviceListPage, false); + } + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 10); + + return true; + } + }); + HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true); + hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44); + hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh); + hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end); + viewBinding.listSrl.setRefreshViewHolder(hdlRefreshViewHolder); + } private void initEvent() { @@ -125,41 +179,10 @@ viewBinding.historyListParent.setVisibility(View.GONE); viewBinding.listParent.setVisibility(View.VISIBLE); addSearchTextToList(); - loadNextPageHouseList(true, 1, true); + loadNextPageDeviceList(true, 1, true); } }); - - //涓嬫媺绠ご棰滆壊 - viewBinding.listSrl.setColorSchemeResources(R.color.text_FF245EC3); - //涓嬫媺璇诲彇 - viewBinding.listSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - viewBinding.listSrl.setRefreshing(false); - loadNextPageHouseList(true, 1, true); - } - }); - //涓婃媺璇诲彇 - viewBinding.listRcv.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (layoutManager == null) { - return; - } - int visibleItemCount = layoutManager.getChildCount(); - int totalItemCount = layoutManager.getItemCount(); - int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); - if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) { - if (!isHouseLoadingMore) { - // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 - HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴"); - loadNextPageHouseList(false, ++currentHouseListPage, false); - } - } - } - }); //娓呴櫎 viewBinding.powerStationClearIv.setOnClickListener(new View.OnClickListener() { @Override @@ -204,7 +227,7 @@ viewBinding.historyListParent.setVisibility(View.GONE); viewBinding.listParent.setVisibility(View.VISIBLE); addSearchTextToList(); - loadNextPageHouseList(true, 1, true); + loadNextPageDeviceList(true, 1, true); } }); //璁惧鐐瑰嚮鏄簨浠� @@ -260,6 +283,7 @@ viewBinding.powerStationSearchEt.requestFocus(); } }); + pullToRefresh(); //鍦ㄧ晫闈腑浣跨敤 KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() { @@ -337,6 +361,9 @@ HdlFileLogic.getInstance().deleteFile(getHistoryFileNamePath()); HdlFileLogic.getInstance().appendFile(getHistoryFileNamePath(), new Gson().toJson(searchHistoryTitleList)); } + if (handler != null && delayedRunnable != null) { + handler.removeCallbacks(delayedRunnable); + } super.onDestroy(); } @@ -345,7 +372,7 @@ * * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 */ - private void loadNextPageHouseList(boolean isRefreshing, long pageNo, boolean isClear) { + private void loadNextPageDeviceList(boolean isRefreshing, long pageNo, boolean isClear) { //鎼滅储鍏抽敭瀛� if (TextUtils.isEmpty(currSearchText)) { @@ -356,12 +383,12 @@ clearData(); } //绗竴椤佃鍙栨暟鎹己鍒惰鍙� - if (pageNo > 1 && currentHouseListPage > currentHouseListTotal) { - --currentHouseListPage; + if (pageNo > 1 && currentDeviceListPage > currentDeviceListTotal) { + --currentDeviceListPage; //褰撳墠椤典笉鑳藉ぇ浜庢�婚〉鏁� return; } - isHouseLoadingMore = true;//鏍囪璇诲彇鐘舵�� + isDeviceLoadingMore = true;//鏍囪璇诲彇鐘舵�� if (isRefreshing) { showLoading(); } @@ -376,10 +403,10 @@ if (isRefreshing) { hideLoading(); } - isHouseLoadingMore = false; + isDeviceLoadingMore = false; if (deviceClass != null) { - currentHouseListTotal = (int) deviceClass.getTotalPage(); - currentHouseListPage = (int) deviceClass.getPageNo(); + currentDeviceListTotal = (int) deviceClass.getTotalPage(); + currentDeviceListPage = (int) deviceClass.getPageNo(); //鏇存柊缂撳瓨 setDeviceList(deviceClass.getList()); if (searchDeviceAdapter != null) { @@ -398,10 +425,10 @@ HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { - if (currentHouseListPage > 1) { - --currentHouseListPage; + if (currentDeviceListPage > 1) { + --currentDeviceListPage; } - isHouseLoadingMore = false; + isDeviceLoadingMore = false; if (isRefreshing) { hideLoading(); } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java index e5e58ce..a2ba13c 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java @@ -2,7 +2,10 @@ import android.content.Context; +import android.os.AsyncTask; import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; @@ -34,6 +37,8 @@ import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils; +import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; +import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; import java.util.ArrayList; import java.util.Collections; @@ -43,7 +48,8 @@ * 鐢电珯鎼滅储鐣岄潰 */ public class HouseSearchActivity extends CustomBaseActivity { - + private Handler handler; + private Runnable delayedRunnable; private ActivityHouseSearchBinding viewBinding; SearchHistoryAdapter searchHistoryAdapter; @@ -79,6 +85,8 @@ initEvent(); } + + private void initData() { try { String json = HdlFileLogic.getInstance().readFile(getHistoryFileNamePath()); @@ -90,6 +98,57 @@ } catch (Exception ignored) { } } + + /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { + viewBinding.listSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + handler = new Handler(Looper.getMainLooper()); + + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.listSrl.endRefreshing(); + loadNextPageHouseList(true, 1, true); + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 1000); + } + + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + + handler = new Handler(Looper.getMainLooper()); + delayedRunnable = new Runnable() { + @Override + public void run() { + viewBinding.listSrl.endLoadingMore(); + //鍔犺浇鏈�鏂版暟鎹畬鎴� + if (!isHouseLoadingMore) { + // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 + loadNextPageHouseList(false, ++currentHouseListPage, false); + } + } + }; + // 寤惰繜 5 绉掓墽琛� + handler.postDelayed(delayedRunnable, 10); + + return true; + } + }); + HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true); + hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44); + hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh); + hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end); + viewBinding.listSrl.setRefreshViewHolder(hdlRefreshViewHolder); + } + + private void initEvent() { @@ -123,38 +182,6 @@ } }); - - //涓嬫媺绠ご棰滆壊 - viewBinding.listSrl.setColorSchemeResources(R.color.text_FF245EC3); - //涓嬫媺璇诲彇 - viewBinding.listSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - viewBinding.listSrl.setRefreshing(false); - loadNextPageHouseList(true, 1, true); - } - }); - //涓婃媺璇诲彇 - viewBinding.listRcv.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (layoutManager == null) { - return; - } - int visibleItemCount = layoutManager.getChildCount(); - int totalItemCount = layoutManager.getItemCount(); - int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); - if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) { - if (!isHouseLoadingMore) { - // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔 - HdlLogLogic.print("---婊戝姩鍒颁簡搴曢儴"); - loadNextPageHouseList(false, ++currentHouseListPage, false); - } - } - - } - }); //娓呴櫎 viewBinding.powerStationClearIv.setOnClickListener(new View.OnClickListener() { @Override @@ -254,6 +281,8 @@ } }); + pullToRefresh(); + //鍦ㄧ晫闈腑浣跨敤 KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() { @Override @@ -270,6 +299,8 @@ } }); + + } @@ -314,6 +345,9 @@ HdlFileLogic.getInstance().deleteFile(getHistoryFileNamePath()); HdlFileLogic.getInstance().appendFile(getHistoryFileNamePath(), new Gson().toJson(searchHistoryTitleList)); } + if (handler != null && delayedRunnable != null) { + handler.removeCallbacks(delayedRunnable); + } super.onDestroy(); } diff --git a/app/src/main/res/layout/activity_device_search.xml b/app/src/main/res/layout/activity_device_search.xml index 02d6ff8..d7aa12e 100644 --- a/app/src/main/res/layout/activity_device_search.xml +++ b/app/src/main/res/layout/activity_device_search.xml @@ -147,7 +147,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/power_station_search_cl"> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/list_srl" android:layout_width="match_parent" android:layout_height="0dp" @@ -160,7 +160,7 @@ android:id="@+id/list_rcv" android:layout_width="match_parent" android:layout_height="match_parent" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/activity_house_search.xml b/app/src/main/res/layout/activity_house_search.xml index f4ceb7e..0821772 100644 --- a/app/src/main/res/layout/activity_house_search.xml +++ b/app/src/main/res/layout/activity_house_search.xml @@ -146,7 +146,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/power_station_search_cl"> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/list_srl" android:layout_width="match_parent" android:layout_height="0dp" @@ -159,7 +159,7 @@ android:id="@+id/list_rcv" android:layout_width="match_parent" android:layout_height="match_parent" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> </androidx.constraintlayout.widget.ConstraintLayout> <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡--> diff --git a/app/src/main/res/layout/activity_message_center_list.xml b/app/src/main/res/layout/activity_message_center_list.xml index 444d865..93a1cb5 100644 --- a/app/src/main/res/layout/activity_message_center_list.xml +++ b/app/src/main/res/layout/activity_message_center_list.xml @@ -21,7 +21,8 @@ <RelativeLayout android:id="@+id/message_rl" android:layout_width="0dp" - android:layout_height="@dimen/dp_60" + android:layout_height="@dimen/dp_22" + android:layout_marginTop="@dimen/dp_20" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/toolbar_top_message_center_list_rl"> @@ -129,10 +130,11 @@ </RelativeLayout> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/message_content_srl" android:layout_width="match_parent" android:layout_height="0dp" + android:layout_marginTop="@dimen/dp_10" app:layout_constraintBottom_toTopOf="@+id/message_bottom_cl" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -141,8 +143,10 @@ <androidx.recyclerview.widget.RecyclerView android:id="@+id/message_content_rl" android:layout_width="match_parent" - android:layout_height="match_parent" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + android:layout_height="match_parent" + android:clipToPadding="false" + android:paddingBottom="@dimen/dp_10" /> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡--> <include diff --git a/app/src/main/res/layout/activity_power_stations_list.xml b/app/src/main/res/layout/activity_power_stations_list.xml index 37d6bed..f6f6304 100644 --- a/app/src/main/res/layout/activity_power_stations_list.xml +++ b/app/src/main/res/layout/activity_power_stations_list.xml @@ -18,11 +18,11 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/fragment_house_srl" android:layout_width="match_parent" android:layout_height="0dp" - android:layout_marginTop="@dimen/dp_12" + android:layout_marginTop="@dimen/dp_10" app:layout_constraintBottom_toTopOf="@+id/add_power_station_rl" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -34,7 +34,7 @@ android:layout_height="match_parent" android:clipToPadding="false" android:paddingBottom="@dimen/dp_16" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> <RelativeLayout android:id="@+id/add_power_station_rl" diff --git a/app/src/main/res/layout/activity_power_stations_move.xml b/app/src/main/res/layout/activity_power_stations_move.xml index 5d9dd50..87333c1 100644 --- a/app/src/main/res/layout/activity_power_stations_move.xml +++ b/app/src/main/res/layout/activity_power_stations_move.xml @@ -17,7 +17,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/fragment_house_srl" android:layout_width="match_parent" android:layout_height="0dp" @@ -32,8 +32,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" - android:paddingBottom="@dimen/dp_16" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + android:paddingBottom="@dimen/dp_10" /> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡--> diff --git a/app/src/main/res/layout/activity_search_messge.xml b/app/src/main/res/layout/activity_search_messge.xml index a9de490..35c5e50 100644 --- a/app/src/main/res/layout/activity_search_messge.xml +++ b/app/src/main/res/layout/activity_search_messge.xml @@ -146,7 +146,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/message_search_cl"> - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout + <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout android:id="@+id/list_srl" android:layout_width="match_parent" android:layout_height="0dp" @@ -159,7 +159,7 @@ android:id="@+id/list_rcv" android:layout_width="match_parent" android:layout_height="match_parent" /> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> + </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/fragment_message.xml b/app/src/main/res/layout/fragment_message.xml index 647f41b..e181a31 100644 --- a/app/src/main/res/layout/fragment_message.xml +++ b/app/src/main/res/layout/fragment_message.xml @@ -223,7 +223,10 @@ <androidx.recyclerview.widget.RecyclerView android:id="@+id/message_rcv" android:layout_width="match_parent" - android:layout_height="match_parent" /> + android:layout_height="match_parent" + android:clipToPadding="false" + android:paddingBottom="@dimen/dp_10" + /> </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout> <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡--> diff --git a/app/src/main/res/layout/item_message_c.xml b/app/src/main/res/layout/item_message_c.xml index ccbe1ed..5c137e5 100644 --- a/app/src/main/res/layout/item_message_c.xml +++ b/app/src/main/res/layout/item_message_c.xml @@ -8,6 +8,7 @@ android:layout_width="0dp" android:layout_height="107.5dp" android:layout_marginStart="@dimen/dp_16" + android:layout_marginTop="@dimen/dp_10" android:layout_marginEnd="@dimen/dp_16" android:background="@drawable/bj_ff1c1c1e" app:layout_constraintEnd_toEndOf="parent" -- Gitblit v1.8.0