parent
d7d43bc7be
commit
2e24a298ff
|
@ -53,6 +53,7 @@ import kr.co.vividnext.sodalive.live.room.LiveRoomViewModel
|
|||
import kr.co.vividnext.sodalive.live.room.create.LiveRoomCreateViewModel
|
||||
import kr.co.vividnext.sodalive.live.room.detail.LiveRoomDetailViewModel
|
||||
import kr.co.vividnext.sodalive.live.room.donation.LiveRoomDonationMessageViewModel
|
||||
import kr.co.vividnext.sodalive.live.room.menu.MenuApi
|
||||
import kr.co.vividnext.sodalive.live.room.tag.LiveTagRepository
|
||||
import kr.co.vividnext.sodalive.live.room.tag.LiveTagViewModel
|
||||
import kr.co.vividnext.sodalive.live.room.update.LiveRoomEditViewModel
|
||||
|
@ -151,6 +152,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
|
|||
single { ApiBuilder().build(get(), CanApi::class.java) }
|
||||
single { ApiBuilder().build(get(), AuthApi::class.java) }
|
||||
single { ApiBuilder().build(get(), UserApi::class.java) }
|
||||
single { ApiBuilder().build(get(), MenuApi::class.java) }
|
||||
single { ApiBuilder().build(get(), LiveApi::class.java) }
|
||||
single { ApiBuilder().build(get(), TermsApi::class.java) }
|
||||
single { ApiBuilder().build(get(), EventApi::class.java) }
|
||||
|
@ -234,7 +236,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
|
|||
private val repositoryModule = module {
|
||||
factory { UserRepository(get()) }
|
||||
factory { TermsRepository(get()) }
|
||||
factory { LiveRepository(get(), get()) }
|
||||
factory { LiveRepository(get(), get(), get()) }
|
||||
factory { EventRepository(get()) }
|
||||
factory { LiveRecommendRepository(get()) }
|
||||
factory { AuthRepository(get()) }
|
||||
|
|
|
@ -15,6 +15,7 @@ import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailResponse
|
|||
import kr.co.vividnext.sodalive.live.room.donation.DeleteLiveRoomDonationMessage
|
||||
import kr.co.vividnext.sodalive.live.room.donation.LiveRoomDonationRequest
|
||||
import kr.co.vividnext.sodalive.live.room.kick_out.LiveRoomKickOutRequest
|
||||
import kr.co.vividnext.sodalive.live.room.menu.MenuApi
|
||||
import kr.co.vividnext.sodalive.user.CreatorFollowRequestRequest
|
||||
import kr.co.vividnext.sodalive.user.UserApi
|
||||
import okhttp3.MultipartBody
|
||||
|
@ -23,7 +24,8 @@ import java.util.TimeZone
|
|||
|
||||
class LiveRepository(
|
||||
private val api: LiveApi,
|
||||
private val userApi: UserApi
|
||||
private val userApi: UserApi,
|
||||
private val menuApi: MenuApi
|
||||
) {
|
||||
fun roomList(
|
||||
dateString: String? = null,
|
||||
|
@ -230,4 +232,9 @@ class LiveRepository(
|
|||
request: CancelLiveReservationRequest,
|
||||
token: String
|
||||
) = api.cancelReservation(request, authHeader = token)
|
||||
|
||||
fun getAllMenu(creatorId: Long, token: String) = menuApi.getAllMenu(
|
||||
creatorId = creatorId,
|
||||
authHeader = token
|
||||
)
|
||||
}
|
||||
|
|
|
@ -14,5 +14,8 @@ data class CreateLiveRoomRequest(
|
|||
@SerializedName("beginDateTimeString") val beginDateTimeString: String? = null,
|
||||
@SerializedName("timezone") val timezone: String,
|
||||
@SerializedName("type") val type: LiveRoomType,
|
||||
@SerializedName("password") val password: String? = null
|
||||
@SerializedName("password") val password: String? = null,
|
||||
@SerializedName("menuPanId") val menuPanId: Long = 0,
|
||||
@SerializedName("menuPan") val menuPan: String = "",
|
||||
@SerializedName("isActiveMenuPan") val isActiveMenuPan: Boolean = false
|
||||
)
|
||||
|
|
|
@ -9,6 +9,7 @@ import android.os.Handler
|
|||
import android.os.Looper
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
|
@ -127,6 +128,8 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
|
|||
viewModel.setTimeNow(
|
||||
intent.getBooleanExtra(Constants.EXTRA_LIVE_TIME_NOW, true)
|
||||
)
|
||||
|
||||
viewModel.getAllMenuPreset()
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n", "ClickableViewAccessibility")
|
||||
|
@ -295,6 +298,22 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
|
|||
}
|
||||
false
|
||||
}
|
||||
|
||||
binding.ivSwitch.setOnClickListener {
|
||||
viewModel.toggleIsActivateMenu()
|
||||
}
|
||||
|
||||
binding.llSelectMenu1.setOnClickListener {
|
||||
viewModel.selectMenuPreset(LiveRoomCreateViewModel.SelectedMenu.MENU_1)
|
||||
}
|
||||
|
||||
binding.llSelectMenu2.setOnClickListener {
|
||||
viewModel.selectMenuPreset(LiveRoomCreateViewModel.SelectedMenu.MENU_2)
|
||||
}
|
||||
|
||||
binding.llSelectMenu3.setOnClickListener {
|
||||
viewModel.selectMenuPreset(LiveRoomCreateViewModel.SelectedMenu.MENU_3)
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
|
@ -348,6 +367,15 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
|
|||
}
|
||||
)
|
||||
|
||||
compositeDisposable.add(
|
||||
binding.etMenu.textChanges().skip(1)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe {
|
||||
viewModel.menu = it.toString()
|
||||
}
|
||||
)
|
||||
|
||||
viewModel.toastLiveData.observe(this) {
|
||||
it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() }
|
||||
}
|
||||
|
@ -573,6 +601,44 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
|
|||
else -> binding.rlPrice.isSelected = true
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.isActivateMenuLiveData.observe(this) {
|
||||
if (it) {
|
||||
binding.llEditMenu.visibility = View.VISIBLE
|
||||
binding.ivSwitch.setImageResource(R.drawable.btn_toggle_on_big)
|
||||
} else {
|
||||
binding.llEditMenu.visibility = View.GONE
|
||||
binding.ivSwitch.setImageResource(R.drawable.btn_toggle_off_big)
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.selectedMenuLiveData.observe(this) {
|
||||
deselectAllMenuPreset()
|
||||
|
||||
when(it) {
|
||||
LiveRoomCreateViewModel.SelectedMenu.MENU_2 -> selectMenuPresetButton(
|
||||
binding.ivSelectMenu2,
|
||||
binding.llSelectMenu2,
|
||||
binding.tvSelectMenu2
|
||||
)
|
||||
|
||||
LiveRoomCreateViewModel.SelectedMenu.MENU_3 -> selectMenuPresetButton(
|
||||
binding.ivSelectMenu3,
|
||||
binding.llSelectMenu3,
|
||||
binding.tvSelectMenu3
|
||||
)
|
||||
|
||||
else -> selectMenuPresetButton(
|
||||
binding.ivSelectMenu1,
|
||||
binding.llSelectMenu1,
|
||||
binding.tvSelectMenu1
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.menuLiveData.observe(this) {
|
||||
binding.etMenu.setText(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -613,4 +679,69 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
|
|||
R.font.gmarket_sans_bold
|
||||
)
|
||||
}
|
||||
|
||||
private fun deselectAllMenuPreset() {
|
||||
binding.ivSelectMenu1.visibility = View.GONE
|
||||
binding.ivSelectMenu2.visibility = View.GONE
|
||||
binding.ivSelectMenu3.visibility = View.GONE
|
||||
|
||||
binding.llSelectMenu1.setBackgroundResource(R.drawable.bg_round_corner_6_7_13181b)
|
||||
binding.tvSelectMenu1.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
)
|
||||
|
||||
if (viewModel.menuList.size > 0) {
|
||||
binding.llSelectMenu2.setBackgroundResource(R.drawable.bg_round_corner_6_7_13181b)
|
||||
binding.tvSelectMenu2.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
)
|
||||
} else {
|
||||
binding.llSelectMenu2.setBackgroundResource(R.drawable.bg_round_corner_6_7_777777)
|
||||
binding.tvSelectMenu2.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_555555
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
if (viewModel.menuList.size > 1) {
|
||||
binding.llSelectMenu3.setBackgroundResource(R.drawable.bg_round_corner_6_7_13181b)
|
||||
binding.tvSelectMenu3.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
)
|
||||
} else {
|
||||
binding.llSelectMenu3.setBackgroundResource(R.drawable.bg_round_corner_6_7_777777)
|
||||
binding.tvSelectMenu3.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_555555
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun selectMenuPresetButton(
|
||||
ivSelectRoulette: ImageView,
|
||||
llSelectRoulette: LinearLayout,
|
||||
tvSelectRoulette: TextView
|
||||
) {
|
||||
ivSelectRoulette.visibility = View.VISIBLE
|
||||
llSelectRoulette.setBackgroundResource(R.drawable.bg_round_corner_6_7_3bb9f1)
|
||||
tvSelectRoulette.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_eeeeee
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ import kr.co.vividnext.sodalive.base.BaseViewModel
|
|||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||
import kr.co.vividnext.sodalive.live.LiveRepository
|
||||
import kr.co.vividnext.sodalive.live.room.LiveRoomType
|
||||
import kr.co.vividnext.sodalive.live.room.menu.GetMenuResponse
|
||||
import okhttp3.MediaType.Companion.toMediaType
|
||||
import okhttp3.MultipartBody
|
||||
import okhttp3.RequestBody.Companion.asRequestBody
|
||||
|
@ -22,6 +23,10 @@ class LiveRoomCreateViewModel(
|
|||
private val repository: LiveRepository
|
||||
) : BaseViewModel() {
|
||||
|
||||
enum class SelectedMenu {
|
||||
MENU_1, MENU_2, MENU_3
|
||||
}
|
||||
|
||||
private val _roomTypeLiveData = MutableLiveData(LiveRoomType.OPEN)
|
||||
val roomTypeLiveData: LiveData<LiveRoomType>
|
||||
get() = _roomTypeLiveData
|
||||
|
@ -58,6 +63,18 @@ class LiveRoomCreateViewModel(
|
|||
val isAdultLiveData: LiveData<Boolean>
|
||||
get() = _isAdultLiveData
|
||||
|
||||
private val _selectedMenuLiveData = MutableLiveData<SelectedMenu>()
|
||||
val selectedMenuLiveData: LiveData<SelectedMenu>
|
||||
get() = _selectedMenuLiveData
|
||||
|
||||
private val _isActivateMenuLiveData = MutableLiveData(false)
|
||||
val isActivateMenuLiveData: LiveData<Boolean>
|
||||
get() = _isActivateMenuLiveData
|
||||
|
||||
private val _menuLiveData = MutableLiveData("")
|
||||
val menuLiveData: LiveData<String>
|
||||
get() = _menuLiveData
|
||||
|
||||
lateinit var getRealPathFromURI: (Uri) -> String?
|
||||
|
||||
var title = ""
|
||||
|
@ -70,6 +87,10 @@ class LiveRoomCreateViewModel(
|
|||
var coverImagePath: String? = null
|
||||
var password: String? = null
|
||||
|
||||
private var menuId = 0L
|
||||
var menu = ""
|
||||
val menuList = mutableListOf<GetMenuResponse>()
|
||||
|
||||
fun setRoomType(roomType: LiveRoomType) {
|
||||
if (_roomTypeLiveData.value!! != roomType) {
|
||||
_roomTypeLiveData.postValue(roomType)
|
||||
|
@ -115,7 +136,18 @@ class LiveRoomCreateViewModel(
|
|||
password
|
||||
} else {
|
||||
null
|
||||
}
|
||||
},
|
||||
menuPanId = if (_isActivateMenuLiveData.value!!) {
|
||||
menuId
|
||||
} else {
|
||||
0
|
||||
},
|
||||
menuPan = if (_isActivateMenuLiveData.value!!) {
|
||||
menu
|
||||
} else {
|
||||
""
|
||||
},
|
||||
isActiveMenuPan = _isActivateMenuLiveData.value!!
|
||||
)
|
||||
|
||||
val requestJson = Gson().toJson(request)
|
||||
|
@ -207,6 +239,11 @@ class LiveRoomCreateViewModel(
|
|||
return false
|
||||
}
|
||||
|
||||
if (_isActivateMenuLiveData.value!! && menu.isBlank()) {
|
||||
_toastLiveData.postValue("메뉴판은 빈칸일 수 없습니다.")
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
@ -252,4 +289,82 @@ class LiveRoomCreateViewModel(
|
|||
)
|
||||
)
|
||||
}
|
||||
|
||||
fun selectMenuPreset(selectedMenuPreset: SelectedMenu) {
|
||||
if (
|
||||
menuList.isEmpty() &&
|
||||
(
|
||||
selectedMenuPreset == SelectedMenu.MENU_2 ||
|
||||
selectedMenuPreset == SelectedMenu.MENU_3
|
||||
)
|
||||
) {
|
||||
_toastLiveData.value = "메뉴 1을 먼저 설정하세요"
|
||||
return
|
||||
}
|
||||
|
||||
if (menuList.size == 1 && selectedMenuPreset == SelectedMenu.MENU_3) {
|
||||
_toastLiveData.value = "메뉴 1과 메뉴 2를 먼저 설정하세요"
|
||||
return
|
||||
}
|
||||
|
||||
if (_selectedMenuLiveData.value != selectedMenuPreset) {
|
||||
_selectedMenuLiveData.value = selectedMenuPreset
|
||||
|
||||
if (menuList.size > selectedMenuPreset.ordinal) {
|
||||
val menuPreset = menuList[selectedMenuPreset.ordinal]
|
||||
_menuLiveData.value = menuPreset.menu
|
||||
|
||||
menu = menuPreset.menu
|
||||
menuId = menuPreset.id
|
||||
} else {
|
||||
_menuLiveData.value = ""
|
||||
|
||||
menu = ""
|
||||
menuId = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun toggleIsActivateMenu() {
|
||||
_isActivateMenuLiveData.value = !_isActivateMenuLiveData.value!!
|
||||
}
|
||||
|
||||
fun getAllMenuPreset() {
|
||||
_isLoading.value = true
|
||||
|
||||
compositeDisposable.add(
|
||||
repository.getAllMenu(
|
||||
creatorId = SharedPreferenceManager.userId,
|
||||
token = "Bearer ${SharedPreferenceManager.token}"
|
||||
)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
{
|
||||
if (it.success) {
|
||||
val data = it.data
|
||||
menuList.clear()
|
||||
menuList.addAll(data ?: listOf())
|
||||
selectMenuPreset(SelectedMenu.MENU_1)
|
||||
|
||||
Logger.e("data: $data")
|
||||
} else {
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
}
|
||||
}
|
||||
_isLoading.value = false
|
||||
},
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
package kr.co.vividnext.sodalive.live.room.menu
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
data class GetMenuResponse(
|
||||
@SerializedName("id") val id: Long,
|
||||
@SerializedName("menu") val menu: String
|
||||
)
|
|
@ -0,0 +1,15 @@
|
|||
package kr.co.vividnext.sodalive.live.room.menu
|
||||
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.Header
|
||||
import retrofit2.http.Query
|
||||
|
||||
interface MenuApi {
|
||||
@GET("/live/room/menu/all")
|
||||
fun getAllMenu(
|
||||
@Query("creatorId") creatorId: Long,
|
||||
@Header("Authorization") authHeader: String
|
||||
): Single<ApiResponse<List<GetMenuResponse>>>
|
||||
}
|
|
@ -111,6 +111,7 @@
|
|||
android:id="@+id/et_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="13.3dp"
|
||||
android:background="@drawable/edittext_underline"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:hint="라이브 제목을 입력해주세요."
|
||||
|
@ -175,6 +176,7 @@
|
|||
android:id="@+id/et_notice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:layout_marginTop="13.3dp"
|
||||
android:background="@drawable/bg_round_corner_6_7_222222"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="top"
|
||||
|
@ -192,6 +194,169 @@
|
|||
tools:ignore="LabelFor" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="13.3dp"
|
||||
android:layout_marginTop="33.3dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="메뉴"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="16.7sp" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:lineSpacingExtra="5sp"
|
||||
android:text="메뉴를 활성화 하시겠습니까?"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="13.3sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_switch"
|
||||
android:layout_width="33.3dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/btn_toggle_off_big" />
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_edit_menu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="13.3dp"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_select_menu_1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/bg_round_corner_6_7_13181b"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="14.3dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_select_menu_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="6.7dp"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/ic_select_check"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_select_menu_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="메뉴 1"
|
||||
android:textColor="@color/color_3bb9f1"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_select_menu_2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="13.3dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/bg_round_corner_6_7_777777"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="14.3dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_select_menu_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="6.7dp"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/ic_select_check"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_select_menu_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="메뉴 2"
|
||||
android:textColor="@color/color_555555"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_select_menu_3"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="13.3dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/bg_round_corner_6_7_777777"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="14.3dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_select_menu_3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="6.7dp"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/ic_select_check"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_select_menu_3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="메뉴 3"
|
||||
android:textColor="@color/color_555555"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_menu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:layout_marginTop="13.3dp"
|
||||
android:background="@drawable/bg_round_corner_6_7_222222"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="top"
|
||||
android:hint="메뉴판을 작성해주세요."
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="textMultiLine"
|
||||
android:overScrollMode="always"
|
||||
android:padding="20dp"
|
||||
android:scrollbarStyle="insideInset"
|
||||
android:scrollbars="vertical"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textColorHint="@color/color_777777"
|
||||
android:textCursorDrawable="@drawable/edit_text_cursor"
|
||||
android:textSize="13.3sp"
|
||||
tools:ignore="LabelFor" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
|
Loading…
Reference in New Issue