我正在开发一个Android应用程序,它在启动时加载Web应用程序.为了达到我使用webview控件的目的.我希望我的webview能够全屏显示,以便为用户提供原生的感觉.我尝试了所有方法来全屏显示webthview但没有任何工作.我不知道我错过了什么.我需要帮助.下面我发布了我尝试过的代码片段,附上了截图,显示了webview如何在模拟器和移动设备上显示.
方法1:尝试简单的基本代码
webbrowser.setWebViewClient(new MyWebViewClient());
webbrowser.getSettings().setJavaScriptEnabled(true);
webbrowser.loadUrl("http://google.com");
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
Run Code Online (Sandbox Code Playgroud)
方法2:在清单文件中尝试将主题设置为全屏
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
Run Code Online (Sandbox Code Playgroud)
方法3:尝试使用代码执行此操作
//Full screen
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
方法4:尝试使用ChromeClient
mWebView.setWebChromeClient(new MyWebChromeClient());
mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");
mWebView.loadUrl("http://google.com/");
Run Code Online (Sandbox Code Playgroud)
方法5:尝试在main.xml中定义没有布局的webview
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview_compontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none"
/>
Run Code Online (Sandbox Code Playgroud)
方法6:还通过将webview边缘与父对齐对齐来尝试相对布局
没有什么对我有用.我正在测试的设备是三星galaxy选项卡,模拟器是Android 2.3.3.在7英寸的星系标签中,它出现在中间,四边有空白区域.而在模拟器中它的底部留有空间.
如果有人可以指导我,我真的很感激.
因此,有一些方法可以使用javascript和php检测"移动"浏览器和屏幕尺寸.但是,屏幕尺寸总是以像素为单位返回,移动设备可能意味着这些天.
我希望能够知道设备在移动时的显示效果,平板电脑随处可见.原因是因为我想为具有小屏幕的设备选择样式表,并为其他所有设备默认使用普通样式表.例如,我想要一个iPad,点燃火,hp触摸板等来显示正常的样式表,但我想要一个不同的手机样式表或任何显示人手大小的设备.
现在,我猜想要做的事情不存在,但也许某人想到了一个更好的方法,或者知道某个地方有某个屏幕尺寸的数据库......嗯
..可能有一种方法找到像素密度,然后应用屏幕宽度/高度(以像素为单位).
在iPhone5 [[UISCreen mainScreen]界限] .size回复为320x480.为什么.在我正在阅读的所有帖子中,人们都说它返回了正确的屏幕尺寸.这里发生了什么?我错过了.plist文件中的内容吗?
顺便说一下,我手工编写GUI,因此没有XIB.
在我的应用程序中,我目前正在使用windowManager.getDefaultDisplay()来确定屏幕大小.
使用新的三星S8导航栏,可以使用左下角的"点"显示和隐藏,我得到显示或隐藏的导航栏相同的显示尺寸.它总是返回显示大小,就像显示导航栏一样 - 当导航栏被隐藏时我希望得到1080x2220,但总是得到1080x2076.
有没有什么方法可以通过编程方式区分案例并获得正确的屏幕尺寸,以便我可以正确显示我的应用程序?
如何在Visual Basic中访问屏幕的尺寸?我已经在网上看了它说使用Screen.width和Screen.length,但是它不能识别那些属性......任何提示?
我有一个视图子类,从活动子类开始,如下所示:
this.setContentView(instanceOfMyView);
Run Code Online (Sandbox Code Playgroud)
在我的视图子类中,我想对屏幕大小做一些工作,但是这里的所有人都说它应该像下面这样开始:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
screenWidth = dm.widthPixels;
screenHeight = dm.heightPixels;
Run Code Online (Sandbox Code Playgroud)
但是getWindowManager()只能从活动子类调用的方法(我是对的吗?)
所以,这是个坏主意,我需要在活动中获取屏幕大小并将其用作视图构造函数中的参数,或者有一种方法可以在视图子类中获取屏幕大小?也许,只需要以某种方式获取视图类中活动实例的链接?
提前致谢.
这让我困扰了很长一段时间,我对此做了很多研究,但找不到答案.我第一次在这里发帖提问,如果我犯了错误,请更正/原谅我.
环境:iPad,iOS 6.0
问题:旋转后基本模态视图更改为全屏.
描述:我有一个全屏应用程序正在运行,目前显示模态视图控制器.从显示模式视图,我通过执行以下操作显示另一个模态视图:
vc.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:vc animated:YES];
//[self presentViewController:vc animated:YES completion:NULL];
Run Code Online (Sandbox Code Playgroud)
当第二个视图出现时,我旋转iPad设备.基本(第一)模态视图变为全屏,最顶层(第二)模态视图保持为formSheet样式.(正确旋转)
我可以通过向navigationController添加模态视图来解决这个问题,但我希望将其保存在模态视图中.
任何人都知道修复?我相信这里的人有同样的问题: ios 6旋转后模态视图尺寸不正确
顺便说一下,iOS 5中的一切都运行良好.苹果改变了iOS 6中旋转的工作方式.谢谢,-peter
我正在开发一个Android Widget,需要区分Galaxy S和Galaxy S2.我几乎阅读了有关屏幕尺寸和密度文章的所有内容.当然,我需要使用新的限定符和新的限定符Smallest Width.我的问题是,sw320dp限定符匹配Galaxy S和Galaxy S2.但是我需要Galaxy S2的另一种布局,但是找不到合适的限定符.
银河S的定义,密度233
屏幕尺寸(以像素为单位):480像素x 800像素
屏幕尺寸以dp为单位:329dp x 549dp(原因1dp = 1pixel /(密度/ 160)
- >所以限定符sw320dp必须在这里匹配.是的,确实如此
Galaxy S II的定义,密度218
屏幕尺寸(以像素为单位):480像素x 800像素
屏幕尺寸dp:352dp x 587dp(原因1dp = 1pixel /(密度/ 160)
- >所以限定符sw340dp必须在这里匹配,但不是没有
(在模拟器和真实设备上测试过)
drawables不是问题,但我的布局,特别是高度和文本大小在这些设备上是不同的,所以我真的需要一个特定的布局.
任何人都有想法或更多的经验吗?
这是我根据屏幕尺寸检测移动显示的代码段。您可以通过向URL添加forceDesktop参数来强制网站保持桌面模式。
我是jquery新手,所以如果您有建议,请发表评论。
致谢brandonjp: 如何获取JavaScript中的查询字符串值?
<script>
$.urlParam = function(name, url) {
if (!url) {
url = window.location.href;
}
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url);
if (!results) {
return undefined;
}
return results[1] || undefined;
}
window.onload = function() {
var forceDesktop = $.urlParam('forceDesktop');
if (!forceDesktop) {
if ( $(window).width() < 639) {
var url = "http://m.mysite.com/";
$(location).attr('href',url);
}
}
};
</script>
Run Code Online (Sandbox Code Playgroud) 我在网站上有一个电话号码.它在笔记本电脑上看起来不错,但在移动设备上,有一半的数字会跳到下一行.它看起来不太好.
那么我怎样才能创建一个只能在移动设备大小的屏幕上工作的换行符呢?
我在编码方面不是很有经验,所以请具体:)非常感谢您的帮助!
screen-size ×10
android ×4
ios6 ×2
mobile ×2
android-view ×1
break ×1
css ×1
detect ×1
device ×1
galaxy ×1
ipad ×1
javascript ×1
jquery ×1
line ×1
php ×1
redirect ×1
resolution ×1
rotation ×1
samsung-s8 ×1
vba ×1
webview ×1