【问题标题】:How to create an overlay for app as an watermark in Android pragmatically?如何务实地为应用程序创建一个叠加层作为Android中的水印?
【发布时间】:2020-03-26 16:28:37
【问题描述】:

我想制作一个应用程序,其中将显示一个水印,该水印将显示在每个活动中,包括片段(如果存在)。我想以编程方式做到这一点,没有任何 XML 来减少冗余和样板代码。 它的主要目的是,如果我与其他人共享一个 APK,那么他就无法窃取我的 APK,因为它到处都包含一个奇怪的水印。

【问题讨论】:

  • 我实际上知道如何在图像中添加水印,但我真的想在包含图像或其他视图的活动中添加它。
  • 您可以实现一个基本活动,自动将水印视图添加到根内容视图,然后从所有其他活动扩展此基本活动
  • 然后它就像一个背景图像。但我只想要一个覆盖。
  • 如果在根视图之上添加水印视图,它怎么可能是背景图片?
  • 我已经尝试过了,但它会导致许多“点击监听器”问题。

标签: android android-overlay android-app-watermark


【解决方案1】:

我为此创建了一个library,以便以可重用的方式做到这一点。这是有关如何在 JavaKotlin 中使用它的文档。首先,从要显示水印的活动中对其进行初始化-

AppWaterMarkBuilder.doConfigure()
                .setAppCompatActivity(MainActivity.this)
                .setWatermarkProperty(R.layout.layout_water_mark)
                .showWatermarkAfterConfig();

然后您可以在应用中的任何位置隐藏和显示它 -

  /* For hiding the watermark without callback*/
  AppWaterMarkBuilder.hideWatermark() 

  /* For showing the watermark without callback*/
  AppWaterMarkBuilder.showWatermark() 

【讨论】:

    【解决方案2】:

    您需要创建一个画布对象,然后在其上进行绘制。画布将是屏幕的大小,因此您可以测量水印位图的大小。然后将其渲染为 Activity 中的背景图像。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多