我目前正在编写一个应用程序,它使用嵌入式WebView来显示其内容,或者有时使用输入表单从用户查询数据.这些表单中的输入字段使用-webkit-css样式进行样式设置.
到目前为止,所有设备(在Nexus One上测试,LG Optimus 500,三星Galaxy S)都可以正常工作,除了具有HTC Sense的设备.在具有HTC Sense的设备上,如果选择了输入元素,则样式会丢失.使用input:focus {}在CSS没有帮助,有意识的HTC设备根本不理会.
这张图片说明了它,当前选择了"昵称",但仍然应该像"Vorname"和"Nachname"一样进行样式设置.

任何想法可能解决这个问题?
这是一个示例HTML页面(根据要求):
<html>
<head>
<meta name="viewport" content="target-densitydpi=low-dpi" />
<style type="text/css">
input[type="number"],
input[type="text"]{
border: 1px solid #CDFF3C;
background: #F3FECA;
width: 220px;
-webkit-border-radius: 4px;
-webkit-box-shadow: inset 1px 1px 4px #AAA;
-webkit-tap-highlight-color: rgba(205, 255, 60, 0.5);
}
body {
background:#ebffb9;
margin-right:0;
margin-left:0;
font-size: 14px;
}
</style>
</head>
<body>
<form name="data" action="/im/postdata" method="get" accept-charset="UTF-8">
<p class="edit">
<b>Vorname</b>
<br/>
<input type="text" name="3"/>
</input>
</p>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
无需将其嵌入到应用程序中,只需将其放在某个Web服务器上并使用内置的Web浏览器打开它.
它可能与以下内容有关:我如何设置HTML INPUT标签的样式,以便在专注于Android 2.2+时维护CSS?.
或者,您可以使用包含WebView的本机应用程序来解决它,然后将res/values/themes.xml中的主题应用于您的应用程序,该应用程序将使用您自己的样式覆盖webTextViewStyle:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:syle/Theme">
<item name="android:webTextViewStyle">@style/MyWebTextView</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后在Manifest中将此分配给您的app:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mywebapp" android:versionCode="1" android:versionName="1">
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@style/MyTheme">
.
.
.
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
然后只需将html加载到WebView中,查看文本输入控件是否采用了新样式.
| 归档时间: |
|
| 查看次数: |
6451 次 |
| 最近记录: |