添加到webview的ImageButton不会调整大小

时间:2013-08-29 12:00:23

标签: android android-layout android-webview android-imageview imagebutton

我有一个WebView,我想添加自己的后退按钮,webview是专为在app中查看pdf而设置的。我已经添加了按钮,它可以工作,但我无法调整大小或在屏幕上移动它,因此pdf控件位于按钮下方并且无法使用。按钮布局参数似乎是沿着这些行的东西(这不是代码中的任何地方,这就像它看起来那样)

<ImageButton
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
     />

这是活动

public class PDFview extends Activity {

    ImageButton im;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);  
        Intent intent = getIntent();
        String LinkTo = intent.getExtras().getString("link");
        WebView mWebView= new WebView(this);
        im = new ImageButton(this);
        im.setImageResource(R.drawable.back);
        im.setLayoutParams(new LayoutParams(100,100));
        im.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                exitPDF();

            }
        });
        im.setLeft(0);
        im.setTop(200);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+LinkTo);
        mWebView.addView(im);
        setContentView(mWebView);
    }

1 个答案:

答案 0 :(得分:0)

  

我有一个WebView,我想将自己的后退按钮添加到

更准确地说,您有一个活动或片段,您希望拥有WebView和后退按钮。

  

我无法调整大小或在屏幕上移动

那是因为WebView并非真正设计用于容纳其他小部件。

创建一个包含RelativeLayout的XML布局资源,该资源依次保存在WebViewImageButton上。确保ImageButtonRelativeLayout第二个子项(WebView是第一个),因此ImageButton更高Z轴并漂浮在WebView上(因为这似乎是你想要的)。然后,使用适当的RelativeLayout定位规则将ImageButton放在您想要的位置。

所有这一切:

  • 考虑根本没有后退按钮,而是使用Android自己的BACK按钮,覆盖onBackPressed()。在有可用的Web历史记录(或者您正在使用该按钮执行的任何操作)的情况下使用它,然后在您的活动中没有更多内容之后调用super.onBackPressed()以“返回”,以便用户可以退出活动。

  • 如果出于某种原因这是不可接受的,请考虑将“后退”功能放在操作栏中。让小部件浮动在WebView之上意味着用户想要阅读的内容将是不可读的,因为按钮挡住了。