1:修改超时时间30秒
2:练歌房已点歌曲,添加展示用户code, 3:修改练歌房已点歌曲展示视图 4:练歌房已点歌曲添加删除功能(接口已经接入,但是隐藏了) 5:修改辅服务器
This commit is contained in:
@@ -20,6 +20,7 @@ public class MusicSongBean implements Serializable {
|
||||
private String duration;//播放时长
|
||||
private int sort;//
|
||||
private String user_id;
|
||||
private String user_code="";
|
||||
private String nickname;
|
||||
private String avatar;
|
||||
private String dress;
|
||||
|
||||
@@ -424,6 +424,10 @@ public interface ApiServer {
|
||||
@GET(Constants.GET_MY_INFO)
|
||||
Call<BaseModel<UserInfo>> getMyInfo();
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST(Constants.POST_DEL_SONG)
|
||||
Call<BaseModel<String>> delSong(@Field("room_id") String room_id, @Field("did") String did);
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST(Constants.ED_USER_INFO)
|
||||
Call<BaseModel<String>> editUserInfo(@Field("nickname") String nickname, @Field("birthday") String birthday, @Field("sex") String sex, @Field("avatar") String avatar, @Field("images") String images, @Field("profile") String profile, @Field("tag_id") String tag_id);
|
||||
|
||||
@@ -63,7 +63,7 @@ public class RetrofitClient {
|
||||
|
||||
public static RetrofitClient INSTANCE;
|
||||
private static ApiServer sApiServer;
|
||||
public static final int DEFAULT_TIME_OUT = 10;
|
||||
public static final int DEFAULT_TIME_OUT = 30;
|
||||
private static OkHttpClient client;
|
||||
private final Retrofit mRetrofit;
|
||||
|
||||
@@ -2445,6 +2445,27 @@ public class RetrofitClient {
|
||||
});
|
||||
}
|
||||
|
||||
public void delSong(String roomId,String did,BaseObserver<String> observer){
|
||||
sApiServer.delSong(roomId,did).enqueue(new Callback<BaseModel<String>>() {
|
||||
|
||||
@Override
|
||||
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
|
||||
if (response.code() == 200) {
|
||||
onNextRetu(response, observer);
|
||||
}else {
|
||||
ToastUtils.showLong("删除歌曲失败",response.code());
|
||||
LogUtils.e("delSong", response.message());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<BaseModel<String>> call, Throwable t) {
|
||||
LogUtils.e("delSong", t.getMessage());
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void getMyInfo(BaseObserver<UserInfo> observer) {//点击我的获取数据
|
||||
sApiServer.getMyInfo().enqueue(new Callback<BaseModel<UserInfo>>() {
|
||||
@Override
|
||||
|
||||
@@ -23,7 +23,7 @@ public enum EnvironmentEnum {
|
||||
|
||||
Auxiliary(//辅助生产环境
|
||||
//"https://vespa.qxyushen.top/",
|
||||
"https://qixinghuishen.qxhs.xyz/",
|
||||
"https://details.qxhs.xyz/",
|
||||
"KvNmqZc+VMzO4CfGMd5zmG6w6OFwpFO/19TwXUWfHDOBgmnl9DgIuE+kbrjNNnxqhtP3pH7bBrnSaSeFtunr72q6sgpLsfuswcUroMvz2slaTBcNzCaLi+GSnM3gB/GdO47mwLdk+iYBTvPUOCIuT608Z29z09w+vPeUDoMCHJBGXu6uh7Nj6PtV1dfGoUvByk1ZF0WYVjIqKDcb3tXY4jonFh3XAWhzMy8xKwN6F2nuK2IcdIwaSPsvuMZmhatP6f9kOE+vnfweyCHS3RxiG474WIoZGJM8omrl3/pOVqE=",
|
||||
"https://oss-cn-beijing.aliyuncs.com/",
|
||||
"LTAI5tKgrfcFQxH46ZwWYgFW",
|
||||
@@ -35,9 +35,9 @@ public enum EnvironmentEnum {
|
||||
"3e8f3add448d4692bc1d04c75ffe801b",
|
||||
//"tcp://1.13.101.98",
|
||||
// "tcp://1.13.20.30",
|
||||
"tcp://qixinghuishen.qxhs.xyz",
|
||||
"tcp://details.qxhs.xyz",
|
||||
// "https://vespa.qxyushen.top/h5",
|
||||
"https://qixinghuishen.qxhs.xyz/h5",
|
||||
"https://details.qxhs.xyz/h5",
|
||||
0),
|
||||
|
||||
TEST(//测试环境
|
||||
|
||||
@@ -242,6 +242,7 @@ public class Constants {
|
||||
public static final String POST_MODIFY_HIDE_STATUS = "/api/UserData/modify_hide_status";//设置隐身进入
|
||||
public static final String GET_MY_INFO = "/api/User/get_user_info";//点击我的获取个人数据
|
||||
public static final String GET_USER_HOME = "/api/User/get_user_home";//点击获取个人数据
|
||||
public static final String POST_DEL_SONG = "/api/RoomSong/del_song";//删除已点歌曲
|
||||
|
||||
public static final String ED_USER_INFO = "/api/User/edit_user_info";//编辑信息
|
||||
public static final String ED_USER_BG = "/api/User/edit_user_bg";//编辑背景图片
|
||||
|
||||
@@ -17,6 +17,8 @@ public class RequestContacts {
|
||||
|
||||
void song(List<SongMusicBean> music);
|
||||
|
||||
void delSong(String s);
|
||||
|
||||
}
|
||||
public interface IRoomPre extends IPresenter {
|
||||
void songList(String roomId,String page);
|
||||
@@ -24,5 +26,7 @@ public class RequestContacts {
|
||||
void upSong(String did,String type);
|
||||
|
||||
void song(String roomId,String user_id,String song_code,String song_name,String singer,String poster,String duration);
|
||||
|
||||
void delSong(String roomId,String did);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.xscm.modulemain.activity.room.fragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
@@ -11,6 +13,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
@@ -26,6 +29,7 @@ import com.xscm.moduleutil.bean.MusicSongBean;
|
||||
import com.xscm.moduleutil.bean.SongMusicBean;
|
||||
import com.xscm.moduleutil.bean.room.RoomInfoResp;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.dialog.ConfirmDialog;
|
||||
import com.xscm.moduleutil.rtc.AgoraManager;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
@@ -87,6 +91,12 @@ public class MusicSongListFragment extends BaseMvpFragment<RequestPresenter, Fra
|
||||
com.hjq.toast.ToastUtils.show("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delSong(String s) {
|
||||
ToastUtils.showShort(s);
|
||||
MvpPre.songList(roomId, page + "");
|
||||
}
|
||||
|
||||
public interface OnRequestFragmentListener {
|
||||
void onCloseDialog();
|
||||
}
|
||||
@@ -188,19 +198,7 @@ public class MusicSongListFragment extends BaseMvpFragment<RequestPresenter, Fra
|
||||
int position = helper.getLayoutPosition();
|
||||
ImageView muisSy = helper.getView(R.id.muis_sy);
|
||||
TextView muisPrice = helper.getView(R.id.muis_price);
|
||||
if (position == 0) {
|
||||
helper.setText(R.id.muis_price, "结束");
|
||||
|
||||
muisSy.setVisibility(View.GONE);
|
||||
} else if (position == 1) {
|
||||
|
||||
muisSy.setVisibility(View.GONE);
|
||||
muisPrice.setVisibility(View.GONE);
|
||||
} else {
|
||||
muisPrice.setVisibility(View.VISIBLE);
|
||||
helper.setText(R.id.muis_price, "置顶");
|
||||
muisSy.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
helper.setText(R.id.muis_name, item.getSong_name());
|
||||
if (item.getDuration().isEmpty()) {
|
||||
@@ -210,6 +208,12 @@ public class MusicSongListFragment extends BaseMvpFragment<RequestPresenter, Fra
|
||||
}
|
||||
helper.setText(R.id.muis_set, "\t" + item.getSinger());
|
||||
helper.setText(R.id.muis_nickname, item.getNickname());
|
||||
if (TextUtils.isEmpty(item.getUser_code())){
|
||||
helper.setVisible(R.id.muis_nick_id,false);
|
||||
}else {
|
||||
helper.setVisible(R.id.muis_nick_id,true);
|
||||
helper.setText(R.id.muis_nick_id,"ID:"+ item.getUser_code());
|
||||
}
|
||||
|
||||
ImageUtils.loadHeadCC(item.getPoster(), helper.getView(R.id.muis_avatar));
|
||||
|
||||
@@ -233,10 +237,21 @@ public class MusicSongListFragment extends BaseMvpFragment<RequestPresenter, Fra
|
||||
|
||||
if (item.getIs_hot() == 1) {
|
||||
helper.setVisible(R.id.muis_sy, true);
|
||||
helper.setVisible(R.id.muis_price, true);
|
||||
// helper.setVisible(R.id.muis_price, true);
|
||||
if (position == 0) {
|
||||
muisSy.setVisibility(View.INVISIBLE);
|
||||
muisPrice.setVisibility(View.INVISIBLE);
|
||||
// helper.setText(R.id.muis_price, "结束");
|
||||
//
|
||||
// muisSy.setVisibility(View.INVISIBLE);
|
||||
} else {
|
||||
muisPrice.setVisibility(View.VISIBLE);
|
||||
helper.setText(R.id.muis_price, "置顶");
|
||||
muisSy.setVisibility(View.VISIBLE);
|
||||
}
|
||||
} else {
|
||||
helper.setVisible(R.id.muis_sy, false);
|
||||
helper.setVisible(R.id.muis_price, false);
|
||||
muisSy.setVisibility(View.INVISIBLE);
|
||||
muisPrice.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
|
||||
TextView muis_price = helper.getView(R.id.muis_price);
|
||||
@@ -244,10 +259,43 @@ public class MusicSongListFragment extends BaseMvpFragment<RequestPresenter, Fra
|
||||
muis_price.setTextColor(ColorManager.getInstance().getButtonColorInt());
|
||||
}
|
||||
};
|
||||
adapter.setOnItemLongClickListener(new BaseQuickAdapter.OnItemLongClickListener(){
|
||||
|
||||
@Override
|
||||
public boolean onItemLongClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
// if (position<0 || position >= adapter.getData().size()){
|
||||
// return false;
|
||||
// }
|
||||
// MusicSongBean musicSongBean= (MusicSongBean) adapter.getData().get(position);
|
||||
// if (musicSongBean.getIs_hot() == 1) {
|
||||
// showOptionsDialog(position);
|
||||
// return true;
|
||||
// }
|
||||
return false;
|
||||
}
|
||||
});
|
||||
mBinding.recycleView.setAdapter(adapter);
|
||||
|
||||
}
|
||||
private void showOptionsDialog(int position) {
|
||||
if (position < 0 || position >= adapter.getData().size()) {
|
||||
return;
|
||||
}
|
||||
|
||||
new ConfirmDialog(ActivityUtils.getTopActivity(),
|
||||
"提示",
|
||||
"您确定要删除当前歌曲吗?",
|
||||
"确认",
|
||||
"取消",
|
||||
v -> {
|
||||
// 点击“确认”按钮时执行删除操作
|
||||
MvpPre.delSong(roomId,adapter.getData().get(position).getDid());
|
||||
},
|
||||
v -> {
|
||||
// 点击“取消”按钮时什么都不做
|
||||
}, false, 0).show();
|
||||
|
||||
}
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.fragment_muisc_song;
|
||||
|
||||
@@ -70,6 +70,11 @@ public class RequestFragment extends BaseMvpFragment<RequestPresenter, FragmentR
|
||||
ToastUtils.show("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delSong(String s) {
|
||||
|
||||
}
|
||||
|
||||
public interface OnRequestFragmentListener {
|
||||
void onCloseDialog(Music musicSongBean);
|
||||
}
|
||||
|
||||
@@ -8,19 +8,24 @@ import com.xscm.moduleutil.bean.SongMusicBean;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.presenter.BasePresenter;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class RequestPresenter extends BasePresenter<RequestContacts.View> implements RequestContacts.IRoomPre{
|
||||
public class RequestPresenter extends BasePresenter<RequestContacts.View> implements RequestContacts.IRoomPre {
|
||||
|
||||
RequestContacts.View mView;
|
||||
|
||||
public RequestPresenter(RequestContacts.View view, Context context) {
|
||||
super(view, context);
|
||||
mView = view;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void songList(String roomId,String page) {
|
||||
api.songList(roomId,page, new BaseObserver<List<MusicSongBean>>() {
|
||||
public void songList(String roomId, String page) {
|
||||
api.songList(roomId, page, new BaseObserver<List<MusicSongBean>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
@@ -28,6 +33,9 @@ public class RequestPresenter extends BasePresenter<RequestContacts.View> implem
|
||||
|
||||
@Override
|
||||
public void onNext(List<MusicSongBean> musicSongBeans) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().songList(musicSongBeans);
|
||||
}
|
||||
});
|
||||
@@ -44,6 +52,9 @@ public class RequestPresenter extends BasePresenter<RequestContacts.View> implem
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().upSong(s);
|
||||
}
|
||||
});
|
||||
@@ -54,14 +65,36 @@ public class RequestPresenter extends BasePresenter<RequestContacts.View> implem
|
||||
api.song(roomId, user_id, song_code, song_name, singer, poster, duration, new BaseObserver<List<SongMusicBean>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
addDisposable(d);
|
||||
addDisposable(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(List<SongMusicBean> songMusicBeans) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().song(songMusicBeans);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delSong(String roomId, String did) {
|
||||
api.delSong(roomId,did,new BaseObserver<String>(){
|
||||
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(String s) {
|
||||
if (MvpRef == null) {
|
||||
MvpRef = new WeakReference<>(mView);
|
||||
}
|
||||
MvpRef.get().delSong(s);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,6 +151,12 @@ public class RequestDialogFragment extends BaseMvpDialogFragment<RequestPresente
|
||||
public void song(List<SongMusicBean> music) {
|
||||
com.hjq.toast.ToastUtils.show("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delSong(String s) {
|
||||
|
||||
}
|
||||
|
||||
private static class MyFragmentPagerAdapter extends FragmentStateAdapter {
|
||||
|
||||
private String[] list;
|
||||
|
||||
@@ -1,95 +1,122 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10">
|
||||
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/muis_avatar"
|
||||
android:layout_width="@dimen/dp_52"
|
||||
android:layout_height="@dimen/dp_52"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
tools:src="@mipmap/default_avatar"
|
||||
app:riv_corner_radius="@dimen/dp_4"/>
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:riv_corner_radius="@dimen/dp_4"
|
||||
tools:src="@mipmap/default_avatar" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/muis_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toEndOf="@id/muis_avatar"
|
||||
android:layout_marginStart="@dimen/dp_6"
|
||||
app:layout_constraintTop_toTopOf="@+id/muis_avatar"
|
||||
android:layout_marginTop="@dimen/dp_7"
|
||||
tools:text="Muis"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_12"/>
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:singleLine="true"
|
||||
app:layout_constraintEnd_toStartOf="@+id/muis_nickname"
|
||||
app:layout_constraintStart_toEndOf="@id/muis_avatar"
|
||||
app:layout_constraintTop_toTopOf="@+id/muis_avatar"
|
||||
tools:text="MuisMuisMuisMuisMuis" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/muis_desc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/muis_name"
|
||||
app:layout_constraintStart_toStartOf="@id/muis_name"
|
||||
tools:text="Muis"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_12"/>
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintStart_toStartOf="@id/muis_name"
|
||||
app:layout_constraintTop_toBottomOf="@id/muis_name"
|
||||
tools:text="Muis" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/muis_set"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:singleLine="true"
|
||||
app:layout_constraintEnd_toStartOf="@+id/muis_nick_id"
|
||||
app:layout_constraintStart_toEndOf="@+id/muis_desc"
|
||||
app:layout_constraintTop_toBottomOf="@id/muis_name"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
tools:text="清唱"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_12"/>
|
||||
tools:text="清唱" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/muis_nickname"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_18"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/muis_sy"
|
||||
android:layout_marginEnd="@dimen/dp_18"
|
||||
android:gravity="center"
|
||||
tools:text="清唱"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_12"/>
|
||||
android:layout_marginTop="@dimen/dp_7"
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintEnd_toStartOf="@+id/muis_sy"
|
||||
app:layout_constraintStart_toEndOf="@+id/muis_name"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="清唱清唱清唱清唱" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/muis_nick_id"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_18"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:textColor="@color/color_FF999999"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:singleLine="true"
|
||||
app:layout_constraintStart_toStartOf="@+id/muis_nickname"
|
||||
app:layout_constraintEnd_toEndOf="@+id/muis_nickname"
|
||||
app:layout_constraintTop_toBottomOf="@+id/muis_nickname"
|
||||
tools:text="清唱清唱清唱清唱清唱" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/muis_sy"
|
||||
android:layout_width="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginEnd="@dimen/dp_18"
|
||||
app:layout_constraintEnd_toStartOf="@+id/muis_price"
|
||||
android:src="@mipmap/music_sy"
|
||||
/>
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/muis_price"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/muis_price"
|
||||
android:layout_width="@dimen/dp_52"
|
||||
android:layout_height="@dimen/dp_30"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:background="@drawable/bg_r53_0dffb9"
|
||||
android:gravity="center"
|
||||
android:padding="@dimen/dp_6"
|
||||
android:text="点歌"
|
||||
tools:text="点歌"
|
||||
android:textColor="@color/color_FF333333"
|
||||
android:textSize="@dimen/sp_12"/>
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Reference in New Issue
Block a user