如何在Android Studio中隐藏/禁用Google StreetView

时间:2019-01-03 13:26:04

标签: java android-studio view visibility google-street-view

我仅使用Java代码在android studio中创建了一个简单的布局,因此我可以将Google街景视图嵌入Unity。布局包括街道视图和一个用于隐藏/显示视图的按钮(CycleStreetView()方法)。但是,这只会隐藏Google水印(??),并阻止您与街景互动。

我尝试将整个布局设置为不可见。它具有与上述相同的效果,并且也隐藏了按钮。我已经遍历了所有街景的对象方法,希望能找到一些可以运气好的隐藏/禁用它。只有选项可以启用/禁用手势,以及在街景视图中显示/隐藏组件(街道名称等)。我会提供整个脚本,以防万一我错过了什么。您可以在Android Studio中尝试通过将“ UnityPlayerActivity”替换为“ AppCompactActivity”来尝试代码。

package com.company.project;

import...

public class StreetView extends UnityPlayerActivity {
  private static FrameLayout layout;

  private static StreetViewPanoramaView mStreetViewPanoramaView;
  private static Button backButton;

  private static boolean streetFlag;

  private static final LatLng SPECTRA = new LatLng(40.5823243, 22.943672);

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    StreetViewPanoramaOptions options = new StreetViewPanoramaOptions();
    options.position(SPECTRA);
    mStreetViewPanoramaView = new StreetViewPanoramaView(this, options);

    backButton=new Button(this);
    backButton.setText("Back");

    layout=new FrameLayout(this);
    addContentView(layout,new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    layout.addView(mStreetViewPanoramaView, new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,Gravity.BOTTOM));
    layout.addView(backButton, new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,Gravity.TOP));

    Bundle mStreetViewBundle = null;

    mStreetViewPanoramaView.onCreate(mStreetViewBundle);
    backButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            CycleStreetView();
        }
    });
}

public static void CycleStreetView(){
    if (!streetFlag){
        mStreetViewPanoramaView.setVisibility(View.INVISIBLE);
        streetFlag = !streetFlag;
    }
    else {
        mStreetViewPanoramaView.setVisibility(View.VISIBLE);
        streetFlag = !streetFlag;
    }
}

}

首先,我创建一个按钮以及街景和通行证选项。然后,我创建布局并放置街景和按钮。最后,该按钮侦听CycleStreetView方法。 setVisibility(View.INVISIBLE);隐藏整个街景?

0 个答案:

没有答案