如何配置显示图片的可点击“ WebView”?

时间:2018-07-31 13:58:21

标签: java android xml webview android-linearlayout

我在Android Studio中创建了一个显示CardView的布局,并且在每个CardView中都有一个TextView小部件和一个WebView小部件。

<android.support.v7.widget.CardView 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="280dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_margin="2dp"
app:cardCornerRadius="6dp"
android:gravity="center">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:id="@+id/linearLayout_id"
    android:clickable="true"
    android:foreground="?android:attr/selectableItemBackground">

    <WebView
        android:id="@+id/card_web_id"
        android:layout_gravity="center_vertical"
        android:layout_width="match_parent"
        android:layout_height="240dp"/>


    <TextView
        android:id="@+id/card_title_id"
        android:textColor="#2d2d2d"
        android:gravity="center"
        android:textSize="17dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Title"/>
</LinearLayout>
</android.support.v7.widget.CardView>

我试图将监听器添加到LinearLayout和CardView中。

holder.linearLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent intent = new Intent(mContext,Film_Activity.class);
            intent.putExtra("url", mData.get(position).getUrlPic_Poster());
            mContext.startActivity(intent);
        }
    }); 

最后,如果我单击Web视图(仅是图像)没有任何反应,则必须单击“布局”的文本或边框以启动新活动。

我希望cardView上的任何触摸都可以启动新活动,因此我必须使Webview可以单击,但这对我不起作用。

我已经对网络视图进行了一些设置;

String html = "<html><body><img src=\"" + mData.get(position).getUrlPic_Poster() + "\" width=\"100%\" height=\"100%\"\"/> 
</body></html>";
    holder.webView.loadData(html, "text/html", null);
    holder.webView.setVerticalScrollBarEnabled(false);
    holder.webView.setHorizontalScrollBarEnabled(false);
    holder.webView.getSettings().setBuiltInZoomControls(false);
    holder.webView.getSettings().setSupportZoom(false);
    holder.webView.getSettings().setAppCacheEnabled(true);

    holder.webView.setFocusable(false);
    holder.webView.setClickable(false);

0 个答案:

没有答案