Commit 30195c7f authored by wanglei's avatar wanglei

[pangle]原生广告

parent 3cb03996
package com.base.appzxhy.business.ads package com.base.appzxhy.business.ads
//import com.applovin.mediation.MaxAd
//import com.applovin.mediation.nativeAds.MaxNativeAdLoader
//import com.applovin.mediation.nativeAds.MaxNativeAdView
//import com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
//import com.google.android.gms.ads.nativead.NativeAd
//import com.google.android.gms.ads.nativead.NativeAdView
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.text.TextUtils
import android.util.AttributeSet import android.util.AttributeSet
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View
import android.widget.Button import android.widget.Button
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.ImageView import android.widget.ImageView
import android.widget.RelativeLayout
import android.widget.TextView import android.widget.TextView
import androidx.annotation.LayoutRes import androidx.annotation.LayoutRes
//import com.applovin.mediation.MaxAd
//import com.applovin.mediation.nativeAds.MaxNativeAdLoader
//import com.applovin.mediation.nativeAds.MaxNativeAdView
//import com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
import com.base.appzxhy.R
//import com.google.android.gms.ads.nativead.NativeAd
//import com.google.android.gms.ads.nativead.NativeAdView
import androidx.core.content.withStyledAttributes import androidx.core.content.withStyledAttributes
import com.base.appzxhy.R
import com.bumptech.glide.Glide
import com.bytedance.sdk.openadsdk.api.nativeAd.PAGNativeAdData
@SuppressLint("ViewConstructor") @SuppressLint("ViewConstructor")
class NativeParentView(context: Context, attrs: AttributeSet? = null) : class NativeParentView(context: Context, attrs: AttributeSet? = null) :
...@@ -120,4 +125,52 @@ class NativeParentView(context: Context, attrs: AttributeSet? = null) : ...@@ -120,4 +125,52 @@ class NativeParentView(context: Context, attrs: AttributeSet? = null) :
// //
// addView(adView, params) // addView(adView, params)
// } // }
fun setPangleNativeAd(
adData: PAGNativeAdData,
@LayoutRes resource: Int? = null
) {
val layout = resource ?: R.layout.layout_pangle_native_custom
val convertView = LayoutInflater.from(context).inflate(layout, null, false)
val mTitle = convertView.findViewById<View?>(R.id.tv_listitem_ad_title) as TextView?
mTitle?.text = adData.title
val mDescription = convertView.findViewById<View?>(R.id.tv_listitem_ad_desc) as TextView?
mDescription?.text = adData.description
val videoView = convertView.findViewById<View?>(R.id.iv_listitem_video) as FrameLayout?
val video: View? = adData.mediaView
video?.let {
videoView?.removeAllViews()
videoView?.addView(it)
}
val mIcon = convertView.findViewById<View?>(R.id.iv_listitem_icon) as ImageView?
mIcon?.let {
Glide.with(context).load(adData.icon.imageUrl).into(it)
}
val mDislike = convertView.findViewById<View?>(R.id.iv_listitem_dislike) as ImageView?
mDislike?.setOnClickListener {
this.visibility = GONE
}
val mCreativeButton = convertView.findViewById<View?>(R.id.tt_creative_btn) as Button?
mCreativeButton?.text = adData.buttonText
val imageView = adData.adLogoView as ImageView?
val mAdLogoView = convertView.findViewById<View?>(R.id.tt_ad_logo) as RelativeLayout?
val lp = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
mAdLogoView?.addView(imageView, lp)
val params = LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT
)
params.gravity = adGravity
addView(convertView, params)
}
} }
package com.base.appzxhy.business.pangle package com.base.appzxhy.business.pangle
import android.content.Context import android.content.Context
import android.content.Intent
import android.os.Bundle import android.os.Bundle
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
...@@ -11,6 +12,7 @@ import com.base.appzxhy.R ...@@ -11,6 +12,7 @@ import com.base.appzxhy.R
import com.base.appzxhy.business.ads.AdsMgr import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.databinding.ActivityPangleBinding import com.base.appzxhy.databinding.ActivityPangleBinding
import com.base.appzxhy.ui.main.MainActivity
class PangleActivity : AppCompatActivity() { class PangleActivity : AppCompatActivity() {
...@@ -33,7 +35,7 @@ class PangleActivity : AppCompatActivity() { ...@@ -33,7 +35,7 @@ class PangleActivity : AppCompatActivity() {
binding.showOpen.setOnClickListener { binding.showOpen.setOnClickListener {
AdsMgr.showOpen(this, showCallBack = object : AdsShowCallBack() { AdsMgr.showOpen(this, showCallBack = object : AdsShowCallBack() {
override fun next() { override fun next() {
this@PangleActivity.startActivity(Intent(this@PangleActivity, MainActivity::class.java))
} }
}) })
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:ignore="HardcodedText">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10">
<ImageView
android:id="@+id/iv_listitem_icon"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_vertical|start"
android:layout_marginEnd="10dp"
android:src="@drawable/tt_ad_logo"
tools:ignore="ContentDescription,ImageContrastCheck" />
<ImageView
android:id="@+id/iv_listitem_dislike"
android:layout_width="20dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical|end"
android:layout_marginStart="10dp"
android:clickable="true"
android:focusable="true"
android:src="@drawable/dislike_icon"
android:visibility="visible"
tools:ignore="ContentDescription,ImageContrastCheck,SpeakableTextPresentCheck,TouchTargetSizeCheck" />
</FrameLayout>
<TextView
android:id="@+id/tv_listitem_ad_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="3dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="3dp"
android:ellipsize="end"
android:lineSpacingMultiplier="1"
android:maxLines="2"
android:singleLine="false"
android:text="pangle"
android:textColor="@android:color/black"
android:textSize="18sp" />
<FrameLayout
android:id="@+id/iv_listitem_video"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_120"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:scaleType="centerCrop" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_marginHorizontal="@dimen/dp_10"
android:minHeight="@dimen/dp_45"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/tt_ad_logo"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:minHeight="@dimen/dp_18" />
<TextView
android:id="@+id/tv_listitem_ad_title"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="5dp"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLength="14"
android:singleLine="true"
android:text="this is title....."
android:textSize="18sp" />
<Button
android:id="@+id/tt_creative_btn"
android:layout_width="90dp"
android:layout_height="28dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="3dp"
android:layout_marginEnd="8dp"
android:background="@drawable/bg_btn_ad"
android:ellipsize="end"
android:gravity="center"
android:lines="1"
android:padding="3dp"
android:text="Download"
android:textAllCaps="false"
android:textColor="#B22222"
android:textSize="14sp"
tools:ignore="TextContrastCheck,TouchTargetSizeCheck" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
...@@ -71,4 +71,5 @@ ...@@ -71,4 +71,5 @@
<dimen name="dp__25">-25dp</dimen> <dimen name="dp__25">-25dp</dimen>
<dimen name="dp_56">56dp</dimen> <dimen name="dp_56">56dp</dimen>
<dimen name="dp_52">52dp</dimen> <dimen name="dp_52">52dp</dimen>
<dimen name="dp_120">120dp</dimen>
</resources> </resources>
\ No newline at end of file
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