Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
A
appzxhy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
appzxhy
Commits
30195c7f
Commit
30195c7f
authored
Jun 26, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[pangle]原生广告
parent
3cb03996
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
174 additions
and
8 deletions
+174
-8
NativeParentView.kt
...in/java/com/base/appzxhy/business/ads/NativeParentView.kt
+60
-7
PangleActivity.kt
...n/java/com/base/appzxhy/business/pangle/PangleActivity.kt
+3
-1
dislike_icon.png
app/src/main/res/drawable-xxhdpi/dislike_icon.png
+0
-0
layout_pangle_native_custom.xml
app/src/main/res/layout/layout_pangle_native_custom.xml
+110
-0
dimens.xml
app/src/main/res/values/dimens.xml
+1
-0
No files found.
app/src/main/java/com/base/appzxhy/business/ads/NativeParentView.kt
View file @
30195c7f
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.content.Context
import
android.text.TextUtils
import
android.util.AttributeSet
import
android.view.LayoutInflater
import
android.view.View
import
android.widget.Button
import
android.widget.FrameLayout
import
android.widget.ImageView
import
android.widget.RelativeLayout
import
android.widget.TextView
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
com.base.appzxhy.R
import
com.bumptech.glide.Glide
import
com.bytedance.sdk.openadsdk.api.nativeAd.PAGNativeAdData
@SuppressLint
(
"ViewConstructor"
)
class
NativeParentView
(
context
:
Context
,
attrs
:
AttributeSet
?
=
null
)
:
...
...
@@ -120,4 +125,52 @@ class NativeParentView(context: Context, attrs: AttributeSet? = null) :
//
// 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
)
}
}
app/src/main/java/com/base/appzxhy/business/pangle/PangleActivity.kt
View file @
30195c7f
package
com.base.appzxhy.business.pangle
import
android.content.Context
import
android.content.Intent
import
android.os.Bundle
import
androidx.activity.enableEdgeToEdge
import
androidx.appcompat.app.AppCompatActivity
...
...
@@ -11,6 +12,7 @@ import com.base.appzxhy.R
import
com.base.appzxhy.business.ads.AdsMgr
import
com.base.appzxhy.business.ads.AdsShowCallBack
import
com.base.appzxhy.databinding.ActivityPangleBinding
import
com.base.appzxhy.ui.main.MainActivity
class
PangleActivity
:
AppCompatActivity
()
{
...
...
@@ -33,7 +35,7 @@ class PangleActivity : AppCompatActivity() {
binding
.
showOpen
.
setOnClickListener
{
AdsMgr
.
showOpen
(
this
,
showCallBack
=
object
:
AdsShowCallBack
()
{
override
fun
next
()
{
this
@PangleActivity
.
startActivity
(
Intent
(
this
@PangleActivity
,
MainActivity
::
class
.
java
))
}
})
...
...
app/src/main/res/drawable-xxhdpi/dislike_icon.png
0 → 100644
View file @
30195c7f
1.48 KB
app/src/main/res/layout/layout_pangle_native_custom.xml
0 → 100644
View file @
30195c7f
<?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
app/src/main/res/values/dimens.xml
View file @
30195c7f
...
...
@@ -71,4 +71,5 @@
<dimen
name=
"dp__25"
>
-25dp
</dimen>
<dimen
name=
"dp_56"
>
56dp
</dimen>
<dimen
name=
"dp_52"
>
52dp
</dimen>
<dimen
name=
"dp_120"
>
120dp
</dimen>
</resources>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment