Commit f2c814d3 by 刘鹏

feat: 分享弹窗bug修复

parent a9549fa8
...@@ -8,7 +8,7 @@ ext { ...@@ -8,7 +8,7 @@ ext {
"m-confide" : "0.0.49.74", "m-confide" : "0.0.49.74",
"m-consultant" : "0.0.60.25", "m-consultant" : "0.0.60.25",
"m-fm" : "0.0.30.08", "m-fm" : "0.0.30.08",
"m-user" : "0.0.62.10", "m-user" : "0.0.62.11",
"m-home" : "0.0.23.48", "m-home" : "0.0.23.48",
"m-im" : "0.0.21.44", "m-im" : "0.0.21.44",
"m-dynamic" : "0.0.7.73", "m-dynamic" : "0.0.7.73",
...@@ -35,7 +35,7 @@ ext { ...@@ -35,7 +35,7 @@ ext {
//mdt 组件 //mdt 组件
"ydl-tuicore" : "0.0.23", "ydl-tuicore" : "0.0.23",
//第一步 //第一步
"ydl-platform" : "0.0.40.99", "ydl-platform" : "0.0.41.08",
//第二步 若干 //第二步 若干
"ydl-webview" : "0.0.38.62", "ydl-webview" : "0.0.38.62",
...@@ -93,7 +93,7 @@ ext { ...@@ -93,7 +93,7 @@ ext {
"m-confide" : "0.0.49.74", "m-confide" : "0.0.49.74",
"m-consultant" : "0.0.60.25", "m-consultant" : "0.0.60.25",
"m-fm" : "0.0.30.08", "m-fm" : "0.0.30.08",
"m-user" : "0.0.62.10", "m-user" : "0.0.62.11",
"m-home" : "0.0.23.48", "m-home" : "0.0.23.48",
"m-im" : "0.0.21.44", "m-im" : "0.0.21.44",
"m-dynamic" : "0.0.7.73", "m-dynamic" : "0.0.7.73",
...@@ -118,7 +118,7 @@ ext { ...@@ -118,7 +118,7 @@ ext {
//mdt组件 //mdt组件
"ydl-tuicore" : "0.0.23", "ydl-tuicore" : "0.0.23",
//第一步 //第一步
"ydl-platform" : "0.0.40.99", "ydl-platform" : "0.0.41.08",
//第二步 若干 //第二步 若干
"ydl-webview" : "0.0.38.62", "ydl-webview" : "0.0.38.62",
......
...@@ -73,7 +73,6 @@ dependencies { ...@@ -73,7 +73,6 @@ dependencies {
if (rootProject.ext.dev_mode){ if (rootProject.ext.dev_mode){
//开发时使用 //开发时使用
api project(":ydl-platform") api project(":ydl-platform")
api project(':m-user')
implementation modularPublication('com.ydl:m-user-api') implementation modularPublication('com.ydl:m-user-api')
implementation modularPublication('com.ydl:m-dynamic-api') implementation modularPublication('com.ydl:m-dynamic-api')
implementation project(':ydl-media') implementation project(':ydl-media')
......
...@@ -27,6 +27,7 @@ import com.ydl.ydlcommon.utils.BuryPointUtils ...@@ -27,6 +27,7 @@ import com.ydl.ydlcommon.utils.BuryPointUtils
import com.ydl.ydlcommon.utils.Utils import com.ydl.ydlcommon.utils.Utils
import com.ydl.ydlcommon.utils.YdlBuryPointUtil import com.ydl.ydlcommon.utils.YdlBuryPointUtil
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils.Companion.count import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils.Companion.count
import com.ydl.ydlcommon.view.dialog.YDLShareDialog
import com.ydl.ydlcommon.view.dialog.YDLShareDialog.Companion.style4 import com.ydl.ydlcommon.view.dialog.YDLShareDialog.Companion.style4
import com.yidianling.consultant.api.IConsultantService import com.yidianling.consultant.api.IConsultantService
import com.yidianling.dynamic.api.IDynamicService import com.yidianling.dynamic.api.IDynamicService
...@@ -53,7 +54,6 @@ import io.reactivex.android.schedulers.AndroidSchedulers ...@@ -53,7 +54,6 @@ import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer import io.reactivex.functions.Consumer
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.user_mine_fragment_mine.* import kotlinx.android.synthetic.main.user_mine_fragment_mine.*
import java.text.SimpleDateFormat
import java.util.* import java.util.*
/** /**
...@@ -67,7 +67,7 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View. ...@@ -67,7 +67,7 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View.
var share_head = "http://static.ydlcdn.com/v1/images/logo320.png" var share_head = "http://static.ydlcdn.com/v1/images/logo320.png"
var share_url = "http://m.yidianling.com/app" var share_url = "http://m.yidianling.com/app"
var userInfoData: UserResponseBean.UserInfo? = null var userInfoData: UserResponseBean.UserInfo? = null
private var mShareDialog: YDLShareDialog? = null
private var startTime: Long = 0 private var startTime: Long = 0
private var endTime: Long = 0 private var endTime: Long = 0
override fun layoutResId(): Int { override fun layoutResId(): Int {
...@@ -130,10 +130,14 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View. ...@@ -130,10 +130,14 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View.
.getGlobalInfo()?.info && null != PlatformRamImpl.getInstance() .getGlobalInfo()?.info && null != PlatformRamImpl.getInstance()
.getGlobalInfo()?.info?.app_share .getGlobalInfo()?.info?.app_share
) { ) {
share_title = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.title.toString() share_title =
share_context = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.descrip.toString() PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.title.toString()
share_head = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.cover_url.toString() share_context =
share_url = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.dl_url.toString() PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.descrip.toString()
share_head =
PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.cover_url.toString()
share_url =
PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.dl_url.toString()
} }
} }
...@@ -450,7 +454,7 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View. ...@@ -450,7 +454,7 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View.
count(UserMyPageEvent.YDL_USER_MY_BOTTOM_TYPE_CLICK, "专家入驻") count(UserMyPageEvent.YDL_USER_MY_BOTTOM_TYPE_CLICK, "专家入驻")
var joinDoctorUrl = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.join_doctor_url var joinDoctorUrl = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.join_doctor_url
if (joinDoctorUrl.isNullOrEmpty()) { if (joinDoctorUrl.isNullOrEmpty()) {
joinDoctorUrl= "http://m.yidianling.com/enter?" joinDoctorUrl = "http://m.yidianling.com/enter?"
} }
val h5Paramzhuan = H5Params(joinDoctorUrl, null) val h5Paramzhuan = H5Params(joinDoctorUrl, null)
NewH5Activity.start(activity, h5Paramzhuan) NewH5Activity.start(activity, h5Paramzhuan)
...@@ -505,10 +509,12 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View. ...@@ -505,10 +509,12 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View.
} }
private fun share() { private fun share() {
val dialog = mActivity?.let {activity -> if (mShareDialog == null) {
style4(activity, share_title, share_url, share_context, share_head) mShareDialog = mActivity?.let { activity ->
style4(activity, share_title, share_url, share_context, share_head)
}
} }
dialog?.show(activity?.fragmentManager, "lose") mShareDialog?.show(activity?.fragmentManager, "lose")
} }
/** /**
......
...@@ -42,6 +42,7 @@ class YDLShareDialog : DialogFragment { ...@@ -42,6 +42,7 @@ class YDLShareDialog : DialogFragment {
//小程序页面地址 //小程序页面地址
private var path: String? = null private var path: String? = null
//小程序id //小程序id
private var minProgramId: String? = null private var minProgramId: String? = null
...@@ -50,7 +51,13 @@ class YDLShareDialog : DialogFragment { ...@@ -50,7 +51,13 @@ class YDLShareDialog : DialogFragment {
private var llmargin = 0 private var llmargin = 0
@SuppressLint("ValidFragment") @SuppressLint("ValidFragment")
constructor(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?) : super() { constructor(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
) : super() {
this.mActivity = activity this.mActivity = activity
this.shareTitle = shareTitle this.shareTitle = shareTitle
this.shareUrl = shareUrl this.shareUrl = shareUrl
...@@ -60,7 +67,15 @@ class YDLShareDialog : DialogFragment { ...@@ -60,7 +67,15 @@ class YDLShareDialog : DialogFragment {
//传递小程序参数 //传递小程序参数
@SuppressLint("ValidFragment") @SuppressLint("ValidFragment")
constructor(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?, path: String?, minProgramId: String?) : super() { constructor(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?,
path: String?,
minProgramId: String?
) : super() {
this.mActivity = activity this.mActivity = activity
this.shareTitle = shareTitle this.shareTitle = shareTitle
this.shareUrl = shareUrl this.shareUrl = shareUrl
...@@ -80,6 +95,7 @@ class YDLShareDialog : DialogFragment { ...@@ -80,6 +95,7 @@ class YDLShareDialog : DialogFragment {
companion object { companion object {
var typeStyle: Int = 0 var typeStyle: Int = 0
/** /**
* 1.为显示1排(5个) 2.为显示2排(隐藏动态和举报)3.为显示2排(隐藏动态和删除) 4.为显示1排(4个)隐藏动态按钮 5:生成海报按钮、隐藏动态 6:保存海报按钮、隐藏动态 7.为显示1排(4个)隐藏动态按钮 * 1.为显示1排(5个) 2.为显示2排(隐藏动态和举报)3.为显示2排(隐藏动态和删除) 4.为显示1排(4个)隐藏动态按钮 5:生成海报按钮、隐藏动态 6:保存海报按钮、隐藏动态 7.为显示1排(4个)隐藏动态按钮
*/ */
...@@ -90,6 +106,7 @@ class YDLShareDialog : DialogFragment { ...@@ -90,6 +106,7 @@ class YDLShareDialog : DialogFragment {
const val TYPE5 = 5 const val TYPE5 = 5
const val TYPE6 = 6 const val TYPE6 = 6
const val TYPE7 = 7 const val TYPE7 = 7
/** /**
* 点击事件类型 1.动态 2.删除 3.举报 4.返回首页 5:生成海报 6:保存本地 7:分享纯图片 * 点击事件类型 1.动态 2.删除 3.举报 4.返回首页 5:生成海报 6:保存本地 7:分享纯图片
*/ */
...@@ -101,55 +118,127 @@ class YDLShareDialog : DialogFragment { ...@@ -101,55 +118,127 @@ class YDLShareDialog : DialogFragment {
const val CLICK_SAVE = 6 const val CLICK_SAVE = 6
const val CLICK_SHARE_IMAGE = 7 const val CLICK_SHARE_IMAGE = 7
fun style1(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog { fun style1(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE1 typeStyle = TYPE1
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead) return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
} }
//支持分享小程序 //支持分享小程序
fun style1(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?, minProgramPath: String? = "", minProgramId: String? = ""): YDLShareDialog { fun style1(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?,
minProgramPath: String? = "",
minProgramId: String? = ""
): YDLShareDialog {
typeStyle = TYPE1 typeStyle = TYPE1
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead, minProgramPath, minProgramId) return YDLShareDialog(
activity,
shareTitle,
shareUrl,
shareContent,
shareHead,
minProgramPath,
minProgramId
)
} }
fun style2(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog { fun style2(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE2 typeStyle = TYPE2
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead) return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
} }
fun style3(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog { fun style3(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE3 typeStyle = TYPE3
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead) return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
} }
fun style4(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog { fun style4(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE4 typeStyle = TYPE4
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead) return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
} }
fun style5(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog { fun style5(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE5 typeStyle = TYPE5
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead) return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
} }
fun style6(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog { fun style6(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE6 typeStyle = TYPE6
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead) return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
} }
//支持分享小程序 //支持分享小程序
fun style7(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?, minProgramPath: String? = "", minProgramId: String? = ""): YDLShareDialog { fun style7(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?,
minProgramPath: String? = "",
minProgramId: String? = ""
): YDLShareDialog {
typeStyle = TYPE7 typeStyle = TYPE7
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead, minProgramPath, minProgramId) return YDLShareDialog(
activity,
shareTitle,
shareUrl,
shareContent,
shareHead,
minProgramPath,
minProgramId
)
} }
} }
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View { override fun onCreateView(
inflater: LayoutInflater?,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
//去掉dialog的标题,需要在setContentView()之前 //去掉dialog的标题,需要在setContentView()之前
this.dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) this.dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
val window = this.dialog.window val window = this.dialog.window
//去掉dialog默认的padding //去掉dialog默认的padding
window!!.decorView.setPadding(0, 0, 0, 0) window?.decorView?.setPadding(0, 0, 0, 0)
val lp = window.attributes val lp = window.attributes
lp.width = WindowManager.LayoutParams.MATCH_PARENT lp.width = WindowManager.LayoutParams.MATCH_PARENT
lp.height = WindowManager.LayoutParams.WRAP_CONTENT lp.height = WindowManager.LayoutParams.WRAP_CONTENT
...@@ -184,49 +273,71 @@ class YDLShareDialog : DialogFragment { ...@@ -184,49 +273,71 @@ class YDLShareDialog : DialogFragment {
when (typeStyle) { when (typeStyle) {
TYPE1 -> { TYPE1 -> {
//样式1 //样式1
//删除、举报、首页
ll_layout2.visibility = View.GONE ll_layout2.visibility = View.GONE
//动态
ll_dynamic.visibility = View.VISIBLE
} }
TYPE2 -> { TYPE2 -> {
//样式2 //样式2
//删除、举报、首页
ll_layout2.visibility = View.VISIBLE
//动态
ll_dynamic.visibility = View.GONE ll_dynamic.visibility = View.GONE
//举报
ll_report.visibility = View.GONE ll_report.visibility = View.GONE
setStyle() setStyle()
val deleteParams = LinearLayout.LayoutParams(dp55, ViewGroup.LayoutParams.WRAP_CONTENT) val deleteParams =
LinearLayout.LayoutParams(dp55, ViewGroup.LayoutParams.WRAP_CONTENT)
deleteParams.setMargins(dp7, 0, llmargin, 0) deleteParams.setMargins(dp7, 0, llmargin, 0)
deleteParams.weight = 0f deleteParams.weight = 0f
ll_delete.layoutParams = deleteParams ll_delete.layoutParams = deleteParams
} }
TYPE3 -> { TYPE3 -> {
//样式3 //样式3
//删除、举报、首页
ll_layout2.visibility = View.VISIBLE
ll_report.visibility = View.VISIBLE
//动态
ll_dynamic.visibility = View.GONE ll_dynamic.visibility = View.GONE
ll_delete.visibility = View.GONE ll_delete.visibility = View.GONE
setStyle() setStyle()
val reportParams = LinearLayout.LayoutParams(dp55, ViewGroup.LayoutParams.WRAP_CONTENT) val reportParams =
LinearLayout.LayoutParams(dp55, ViewGroup.LayoutParams.WRAP_CONTENT)
reportParams.setMargins(dp7, 0, llmargin, 0) reportParams.setMargins(dp7, 0, llmargin, 0)
reportParams.weight = 0f reportParams.weight = 0f
ll_report.layoutParams = reportParams ll_report.layoutParams = reportParams
} }
TYPE4 -> { TYPE4 -> {
//样式4 //样式4
//动态
ll_dynamic.visibility = View.GONE ll_dynamic.visibility = View.GONE
//删除、举报、首页
ll_layout2.visibility = View.GONE ll_layout2.visibility = View.GONE
setStyle() setStyle()
} }
TYPE5 -> { TYPE5 -> {
//样式5 //样式5
//动态
ll_dynamic.visibility = View.GONE ll_dynamic.visibility = View.GONE
ll_poster.visibility = View.VISIBLE ll_poster.visibility = View.VISIBLE
//删除、举报、首页
ll_layout2.visibility = View.GONE ll_layout2.visibility = View.GONE
} }
TYPE6 -> { TYPE6 -> {
//样式6 //样式6
//动态
ll_dynamic.visibility = View.GONE ll_dynamic.visibility = View.GONE
ll_save.visibility = View.VISIBLE ll_save.visibility = View.VISIBLE
//删除、举报、首页
ll_layout2.visibility = View.GONE ll_layout2.visibility = View.GONE
} }
TYPE7 -> { TYPE7 -> {
//样式7 //样式7
//删除、举报、首页
ll_layout2.visibility = View.GONE ll_layout2.visibility = View.GONE
//动态
ll_dynamic.visibility = View.GONE ll_dynamic.visibility = View.GONE
} }
} }
...@@ -243,11 +354,11 @@ class YDLShareDialog : DialogFragment { ...@@ -243,11 +354,11 @@ class YDLShareDialog : DialogFragment {
Executors.newCachedThreadPool().execute { Executors.newCachedThreadPool().execute {
var imageByte = Base64.decode(base64DataStr, Base64.DEFAULT) var imageByte = Base64.decode(base64DataStr, Base64.DEFAULT)
mActivity!!.runOnUiThread { mActivity?.runOnUiThread {
GlideApp.with(this) GlideApp.with(this)
.load(imageByte) .load(imageByte)
.diskCacheStrategy(DiskCacheStrategy.NONE) .diskCacheStrategy(DiskCacheStrategy.NONE)
.into(img_pic) .into(img_pic)
} }
} }
...@@ -381,7 +492,20 @@ class YDLShareDialog : DialogFragment { ...@@ -381,7 +492,20 @@ class YDLShareDialog : DialogFragment {
} }
private fun share(platform: SHARE_MEDIA) { private fun share(platform: SHARE_MEDIA) {
ShareUtils.shareTo(platform, mActivity!!, shareTitle!!, shareUrl!!, shareContent, shareHead) mActivity?.let { activity ->
shareTitle?.let { shareTitle ->
shareUrl?.let { shareUrl ->
ShareUtils.shareTo(
platform,
activity,
shareTitle,
shareUrl,
shareContent,
shareHead
)
}
}
}
ShareUtils.callBack = object : ShareActionCallBack { ShareUtils.callBack = object : ShareActionCallBack {
override fun onShareSuccessed(share_media: SHARE_MEDIA) { override fun onShareSuccessed(share_media: SHARE_MEDIA) {
mShareCallBack?.onShareSuccessed(share_media) mShareCallBack?.onShareSuccessed(share_media)
...@@ -399,7 +523,24 @@ class YDLShareDialog : DialogFragment { ...@@ -399,7 +523,24 @@ class YDLShareDialog : DialogFragment {
*/ */
private fun shareMinWeixin() { private fun shareMinWeixin() {
//分享小程序到微信 //分享小程序到微信
ShareUtils.shareSmailWeixin(mActivity!!, shareTitle!!, shareUrl!!, shareContent, shareHead, path, minProgramId, null)
mActivity?.let { activity ->
shareTitle?.let { shareTitle ->
shareUrl?.let { shareUrl ->
ShareUtils.shareSmailWeixin(
activity,
shareTitle,
shareUrl,
shareContent,
shareHead,
path,
minProgramId,
null
)
}
}
}
dismiss() dismiss()
} }
......
...@@ -131,6 +131,7 @@ ...@@ -131,6 +131,7 @@
android:layout_width="55dp" android:layout_width="55dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:visibility="gone"
android:orientation="vertical"> android:orientation="vertical">
<ImageView <ImageView
...@@ -248,6 +249,7 @@ ...@@ -248,6 +249,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/platform_dp_18" android:layout_marginTop="@dimen/platform_dp_18"
android:visibility="gone"
android:orientation="horizontal"> android:orientation="horizontal">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
......
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