android webview内容压线问题解决方法
最近在使用webview做页面开发,项目上要求webview在获取到焦点的时候需要有边框线,于是添加上了webview的选中效果,但是出现了网页中的内容压选中框的情况。之后给webview添加padding也不能解决这个问题,从网上搜索后发现,webview设置padding是不会起作用的,这个是webview的一个bug。但是问题还是地解决的,于是想了如下的webview选中的替代方案:
- webview设置背景色为透明色
- 在webview下方放一个LinearLayout里面有个ImageView,大小刚好比webview大出一个边框
- 当webview获取到焦点的时候,显示有边框的ImageView,当webview失去焦点的时候,显示正常的无边框的ImageView。
下面贴出代码:
1.xml文件配置(LinearLayout在webview下面并且比其大4dp)
<LinearLayout
android:id="@+id/web_linerlayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="2dp"
android:layout_alignParentBottom="true"
android:layout_below="@+id/title_Relay"
android:layout_toRightOf="@id/btn"
android:layout_marginTop="5dp"
android:layout_marginRight="8dp"
android:background="@color/3C123456"
android:padding="0dp">
</LinearLayout>
<WebView
android:id="@+id/web_WebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="6dp"
android:layout_alignParentBottom="true"
android:layout_below="@+id/title_Relay"
android:layout_toRightOf="@id/btn"
android:layout_marginTop="9dp"
android:layout_marginRight="11dp"
android:layout_marginBottom="4dp"
android:layerType="software"
android:hardwareAccelerated="true">
</WebView>
2.JAVA代码
final LinearLayout linearlayout = (LinearLayout)findViewById(R.id.web_linerlayout);
final ImageView imageView = new ImageView(MainActivity.this);
imageView.setImageResource(R.drawable.webview_select);
LayoutParams layoutParams = new LayoutParams(linearlayout.getLayoutParams().width, linearlayout.getLayoutParams().height);
imageView.setLayoutParams(layoutParams);
linearlayout.addView(imageView); WebView shopWeb = (WebView) findViewById(R.id.web_WebView);
shopWeb.setOnFocusChangeListener(new View.OnFocusChangeListener()
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus){
linearlayout.removeView(imageView);
}else{
linearlayout.addView(imageView);
}
}
});
android webview内容压线问题解决方法的更多相关文章
- 【转】 Android WebView内容宽度自适应
我们平常在项目中有可能会遇到网页的内容是通过json数据传递到app上面用WebView来显示的,这时候我们通常都要调整内容的总宽度不超过父容器的宽度,这样子用户可以不用左右滑动就可以看到全部的内容. ...
- Android 5.x 权限问题解决方法
android 5.x开始,引入了非常严格的selinux权限管理机制,我们经常会遇到因为selinux权限问题造成的各种avc denied困扰. 本文结合具体案例,讲解如何根据log来快速解决9 ...
- 关于Android WebView内容不同屏幕兼容处理
最近团队里项目开发APP时,其中有个界面要用到WebView来显示,而不用原生的控件. 开发这个界面的时候遇到一个问题,就是Android的碎片化导致有众多屏幕分辨率,不同分辨率的屏幕对这个界面Web ...
- android webview内存泄露解决方法
完整的activity的onDestroy()方法:@Override protected void onDestroy() { if( mWebView!=null) { // 如果先调用destr ...
- Android webview通过http get下载文件下载两次的问题及解决方法
一.现象 一般通过Android webview进行下载文件的方法是 1.重写DownloadListener的onDownloadStart方法,在onDownloadStart方法中弹出对话框提示 ...
- Android webview 写入cookie的解决方法以及一些属性设置
原文地址:https://www.2cto.com/kf/201703/616868.html Android webview 写入cookie的解决方法以及一些属性设置,webview怎么设置写入C ...
- Android WebView 不支持 H5 input type="file" 解决方法
最近因为赶项目进度,因此将本来要用原生控件实现的界面,自己做了H5并嵌入webview中.发现点击H5中 标签 不能打开android资源管理器. 通过网络搜索发现是因为 android webvie ...
- Android WebView 调试方法
调试Android WebView中的h5页面,通常就是通过alert和抓包工具来定位问题,效率低且无法直接调试样式或打断点,可谓是事倍功半.本文介绍一下我在项目中使用的新方法,能够通过chrome的 ...
- 安装Android SDK Manager的“Failed to fetch refused”问题解决方法
安装Android SDK Manager的"Failed to fetch refused"问题解决方法 一见 2014/11/11 问题现象: 步骤一:修改hosts文件(wi ...
随机推荐
- SPRING IN ACTION 第4版笔记-第五章Building Spring web applications-001-SpringMVC介绍
一. 二.用Java文件配置web application 1. package spittr.config; import org.springframework.web.servlet.suppo ...
- 通过Hibernate将数据库在myeclipse中逆向生成
1.首先准备好数据库. 2.在MyEclipse的右上角切换透视图,切换到MyEclipse Database Explorer 3.在最左边点击右键,选择New(也就是新建一个数据库连接),然后编写 ...
- 微信JSSDK与录音相关的坑
欢迎各位转载, 以让微信团队重视这些恼人的BUG. 请注明出处微信JSSDK与录音相关的坑 by lzl124631x 最近一直在做微信JSSDK与录音相关的功能开发, 遇到了各种奇尺大坑, 时不时冷 ...
- leetcode面试准备:Sliding Window Maximum
leetcode面试准备:Sliding Window Maximum 1 题目 Given an array nums, there is a sliding window of size k wh ...
- matlab安装和入门
下载iso镜像: ISO镜像下载地址链接: http://pan.baidu.com/s/1i31bu5J 密码: obo1 单独破解文件下载链接: http://pan.baidu.com/s/1c ...
- [译]GotW #6a: Const-Correctness, Part 1
const 和 mutable在C++存在已经很多年了,对于如今的这两个关键字你了解多少? Problem JG Question 1. 什么是“共享变量”? Guru Question 2. con ...
- wzplayer2 for windows ActiveX 试用地址
提供wzplayer2 for windows ActiveX,测试地址:http://www.coolradio.cn/IE.htm 大家使用时候必须允许未签名ActiveX下载和运行,否则将无法正 ...
- 在Sublime Text 3中配置编译和运行Java程序
设置Java的PATH环境变量 在Java的jdk的bin目录下建立新文件runJava.bat 文件内容如下: @echo off cd %~dp1 echo Compiling %~nx1.... ...
- jdk1.7升级到jdk1.8后出错: [ERROR] javadoc: warning - Multiple sources of package comments found for package
from: http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html [ERROR] javadoc: warnin ...
- jquery ajax cache的问题
function test() { $.ajax({ type:'GET', url:"tt. ...