1:添加权限说明

2:聊天添加举报按钮
This commit is contained in:
2025-10-30 18:13:59 +08:00
parent a5ebc83dea
commit a993a7710f
21 changed files with 423 additions and 361 deletions

View File

@@ -9,6 +9,7 @@ import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
@@ -38,6 +39,7 @@ import com.xscm.moduleutil.bean.HeatedBean;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.GlideEngine;
import com.xscm.moduleutil.utils.PermissionDescriptionHelper;
import com.xscm.moduleutil.utils.location.LocationProvider;
import com.xscm.moduleutil.utils.location.LocationServiceFactory;
import com.xscm.moduleutil.widget.Constants;
@@ -142,7 +144,7 @@ public class ReleaseActivity extends BaseMvpActivity<ReleasePresenter, ActivityR
mBinding.tvFb.setOnClickListener(this::onClick);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
PermissionDescriptionHelper.addPermissionDescription(false, (ViewGroup) mBinding.getRoot(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION});
// 请求定位权限
ActivityCompat.requestPermissions(
(Activity) this,
@@ -164,7 +166,7 @@ public class ReleaseActivity extends BaseMvpActivity<ReleasePresenter, ActivityR
@Override
public void onFailed(String errorMessage) {
Toast.makeText(ReleaseActivity.this, "定位失败:" + errorMessage, Toast.LENGTH_SHORT).show();
Toast.makeText(ReleaseActivity.this, "定位失败:" , Toast.LENGTH_SHORT).show();
}
});
@@ -218,6 +220,7 @@ public class ReleaseActivity extends BaseMvpActivity<ReleasePresenter, ActivityR
.openGallery(mimeType)
.isGif(isVideo)
.setImageEngine(GlideEngine.createGlideEngine())
.setPermissionDescriptionListener(PermissionDescriptionHelper.createListener())
.setMaxSelectNum(type)
.isPreviewImage(true)
.isDisplayCamera(false)
@@ -352,7 +355,7 @@ public class ReleaseActivity extends BaseMvpActivity<ReleasePresenter, ActivityR
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
PermissionDescriptionHelper.removePermissionDescription((ViewGroup) mBinding.getRoot());
if (requestCode == 1001) {
LocationProvider provider = LocationServiceFactory.createBestProvider(this);
provider.getLastKnownLocation(this, new LocationProvider.LocationCallback() {
@@ -364,7 +367,7 @@ public class ReleaseActivity extends BaseMvpActivity<ReleasePresenter, ActivityR
@Override
public void onFailed(String errorMessage) {
Toast.makeText(ReleaseActivity.this, "定位失败:" + errorMessage, Toast.LENGTH_SHORT).show();
Toast.makeText(ReleaseActivity.this, "定位失败:", Toast.LENGTH_SHORT).show();
}
});
}

View File

@@ -1,123 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<layout 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"
tools:context=".activity.ReleaseActivity">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.ReleaseActivity">
<data>
</data>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_FFF8F8F8">
android:layout_height="match_parent">
<com.xscm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent">
<RelativeLayout
android:id="@+id/rl_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r16_ffeff2f8"
app:layout_constraintTop_toBottomOf="@+id/top_bar">
<TextView
android:id="@+id/tv_ht"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_9"
android:layout_marginBottom="@dimen/dp_9"
android:gravity="center"
android:text="选择话题"
android:textColor="@color/color_FF333333"
android:textSize="16sp" />
<ImageView
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_12"
android:src="@mipmap/up_t" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_2"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_180"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r10_white"
app:layout_constraintTop_toBottomOf="@+id/rl_1">
<EditText
android:id="@+id/et_g"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_140"
android:layout_marginStart="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_7"
android:layout_marginEnd="@dimen/dp_12"
android:background="@android:color/transparent"
android:gravity="left|top"
android:hint="此刻想和大家分享点什么"
android:maxLength="1200"
android:textColor="#333333"
android:textColorHint="@color/color_FF999999"
android:textSize="@dimen/sp_15" />
android:layout_height="match_parent"
android:background="@color/color_FFF8F8F8">
<com.xscm.moduleutil.widget.CustomTopBar
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent"/>
<RelativeLayout
android:id="@+id/rl_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r16_ffeff2f8"
app:layout_constraintTop_toBottomOf="@+id/top_bar">
<TextView
android:id="@+id/tv_ht"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_9"
android:layout_marginBottom="@dimen/dp_9"
android:gravity="center"
android:text="选择话题"
android:textColor="@color/color_FF333333"
android:textSize="16sp"/>
<ImageView
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginEnd="@dimen/dp_12"
android:src="@mipmap/up_t"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_2"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_180"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
android:background="@drawable/bg_r10_white"
app:layout_constraintTop_toBottomOf="@+id/rl_1">
<EditText
android:id="@+id/et_g"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_140"
android:layout_marginStart="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_7"
android:layout_marginEnd="@dimen/dp_12"
android:background="@android:color/transparent"
android:gravity="left|top"
android:hint="此刻想和大家分享点什么"
android:maxLength="1200"
android:textColor="#333333"
android:textColorHint="@color/color_FF999999"
android:textSize="@dimen/sp_15"/>
<TextView
android:id="@+id/tv_sz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:layout_below="@+id/et_g"
android:gravity="bottom"
android:text="0/1200"
android:textColor="@color/color_FF666666"
android:textSize="@dimen/sp_12"/>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_photo_wall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@+id/rl_2"/>
<TextView
android:id="@+id/tv_sz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:layout_below="@+id/et_g"
android:gravity="bottom"
android:text="0/1200"
android:textColor="@color/color_FF666666"
android:textSize="@dimen/sp_12" />
</RelativeLayout>
android:id="@+id/tv_fb"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginStart="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_38"
android:background="@drawable/cs"
android:gravity="center"
android:text="立即发布"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14"
app:layout_constraintTop_toBottomOf="@+id/rv_photo_wall"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_photo_wall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintTop_toBottomOf="@+id/rl_2" />
<TextView
android:id="@+id/tv_fb"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginStart="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_38"
android:background="@drawable/cs"
android:gravity="center"
android:text="立即发布"
android:textColor="@color/color_FF333333"
android:textSize="@dimen/sp_14"
app:layout_constraintTop_toBottomOf="@+id/rv_photo_wall" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>