qq_34847579 2021-03-31 16:13 采纳率: 0%
浏览 58

android webview <video> 全屏以后右上角的分享功能怎么屏蔽或者拦截

android webview <video> 全屏以后右上角有三个点,点击以后有个分享, 加载本地html以后就变成分享网页的源码, 有没有什么方法隐藏按键,或者拦截这个分享.

在网上找了蛮久,只找到控制全屏的方法,没找到控制分享的.

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-23 19:27
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要实现Android WebView中视频播放器在全屏模式下右上角分享按钮的遮罩效果,你可以使用以下步骤:

    1. 创建一个自定义分享按钮样式。

    2. 在AndroidManifest.xml文件中添加一个新的activity来处理分享事件。

    3. 使用JavaScript或Java API创建一个自定义分享按钮,并设置其onClick()事件监听器。

    4. 在分享按钮被点击时调用你的活动中的分享逻辑。

    5. 调用Activity中的分享逻辑以显示分享对话框。

    6. 在分享对话框中,为分享按钮添加覆盖层(例如通过使用<div>元素包裹它)。

    7. 当分享完成时,取消覆盖层并返回到原界面。

    以下是实现这些步骤的一个示例代码片段:

    // 第一步:创建自定义分享按钮样式
    
    ViewGroup customShareButton = new View(context);
    customShareButton.setId(R.id.custom_share_button);
    
    TextView customShareText = new TextView(context);
    customShareText.setText("分享");
    customShareText.setTextSize(20);
    customShareText.setTextColor(Color.WHITE);
    customShareText.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL);
    customShareText.setBackgroundColor(Color.BLACK);
    customShareButton.addView(customShareText);
    
    // 第二步:在AndroidManifest.xml文件中添加一个新的activity来处理分享事件
    
    <activity
        android:name=".YourCustomActivity"
        android:label="@string/app_name"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    </activity>
    
    // 第三步:使用JavaScript或Java API创建一个自定义分享按钮,并设置其onClick()事件监听器
    
    ViewGroup container = (ViewGroup) findViewById(R.id.container);
    container.addView(customShareButton);
    
    customShareButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Your custom sharing logic here...
        }
    });
    
    // 第四步:在分享按钮被点击时调用你的活动中的分享逻辑
    
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_TEXT, "This is a text message from your app.");
    startActivity(intent);
    
    // 第五步:调用Activity中的分享逻辑以显示分享对话框
    
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_TEXT, "This is a text message from your app.");
    
    startActivityForResult(Intent.createChooser(shareIntent, "Share via"), REQUEST_CODE_SHARE);
    
    // 第六步:在分享对话框中,为分享按钮添加覆盖层
    
    View coverView = new View(context);
    coverView.setId(R.id.cover_view);
    LinearLayout layout = new LinearLayout(context);
    layout.setOrientation(LinearLayout.VERTICAL);
    TextView text = new TextView(context);
    text.setText("Cover view");
    text.setTextSize(20);
    text.setTextColor(Color.WHITE);
    text.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL);
    coverView.addView(text);
    container.addView(coverView);
    
    // 第七步:当分享完成时,取消覆盖层并返回到原界面
    
    if (requestCode == REQUEST_CODE_SHARE && resultCode == RESULT_OK) {
        Intent resultIntent = new Intent();
        resultIntent.putExtra("result", "success");
        setResult(RESULT_OK, resultIntent);
    }
    
    finish();
    
    // 注意:上述代码示例是基于Android官方文档和社区经验的简单示例。实际应用中可能需要根据具体需求进行调整。
    

    请注意,这段代码仅提供了一个基本框架,你需要根据自己的项目需求和实际情况进行修改。

    评论

报告相同问题?