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
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
)
}
}
}
app/src/main/java/com/base/appzxhy/business/pangle/PangleActivity.kt
View file @
30195c7f
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
))
}
}
})
})
...
...
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 @@
...
@@ -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
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