失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 仿京东淘宝等首页广告弹窗广告 dialog

仿京东淘宝等首页广告弹窗广告 dialog

时间:2021-04-25 23:03:25

相关推荐

仿京东淘宝等首页广告弹窗广告 dialog

记录贴 防止以后忘记.

上图

1.dialog布局 图片随便找的

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@mipmap/d"android:layout_centerHorizontal="true"android:layout_centerVertical="true"/></RelativeLayout>

2.style

<!-- dialog动画 --><style name="style_dialog"><item name="android:windowEnterAnimation">@anim/anim_popup_zoom_enter</item><item name="android:windowExitAnimation">@anim/anim_popup_zoom_exit</item></style>

3.俩个动画 一进一出

(1) anim_popup_zoom_enter.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"><scaleandroid:duration="500"android:fromXScale="0.8"android:fromYScale="0.8"android:pivotX="50%"android:pivotY="50%"android:toXScale="1.0"android:toYScale="1.0" /><alphaandroid:duration="500"android:fromAlpha="0"android:toAlpha="1.0" /></set>

(2)anim_popup_zoom_exit.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"><scaleandroid:duration="300"android:fromXScale="1.0"android:fromYScale="1.0"android:pivotX="50%"android:pivotY="50%"android:toXScale="0.8"android:toYScale="0.8" /><alphaandroid:duration="300"android:fromAlpha="1.0"android:toAlpha="0" /></set>

4.主体代码

/*** Created by lpq on /7/18.* 仿京东淘宝首页广告*/public class AdsDialog extends Dialog implements View.OnClickListener {private TextView tv_img;public AdsDialog(@NonNull Context context) {super(context);setContentView(R.layout.dialog_ads);setCanceledOnTouchOutside(true);tv_img = (TextView) findViewById(R.id.img);tv_img.setOnClickListener(this);}public void showDialog() {Window window = getWindow();window.setWindowAnimations(R.style.style_dialog);window.setBackgroundDrawableResource(R.color.colorTransparent);WindowManager.LayoutParams wl = window.getAttributes();//设置弹窗位置wl.gravity = Gravity.CENTER;window.setAttributes(wl);show();}@Overridepublic void onClick(View v) {if (v.getId() == R.id.img) {// closeAnimations();dismiss();}}}

5.调用

(1) kotlin

class TestActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_test)val dialog = AdsDialog(this)test_tv.setOnClickListener(object : NoDoubleListener() {override fun onNoDoubleClick(v: View) {dialog.showDialog()}})}}

(2) 一般调用

public class DemoActivity extends AppCompatActivity {private AdsDialog dialog;private TextView tv;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test);tv = (TextView) findViewById(R.id.tv_btn);dialog = new AdsDialog(this);tv.setOnClickListener(new NoDoubleListener() {@Overrideprotected void onNoDoubleClick(View v) {dialog.showDialog();}});}}

如果觉得《仿京东淘宝等首页广告弹窗广告 dialog》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。