小编cam*_*der的帖子

Android WebView在底部添加了奇怪的空白空间

我正在尝试为加载的WebView使用添加更多空白空间JavaScript.

loadDataWithBaseUrl()String资源加载数据.然后,在测量了一些内容之后,我需要制作WebView更大的内容,例如100像素.所以我用javascript函数调用loadDataWithBaseUrl():

mWebView.loadUrl("javascript:addHeight()");
Run Code Online (Sandbox Code Playgroud)

Javascript 函数在原始HTML中定义:

function addHeight() { " +
    var elemDiv = document.createElement('div');
    elemDiv.style.cssText = 'height:100px;'; 
    document.body.appendChild(elemDiv); 
} 
Run Code Online (Sandbox Code Playgroud)

在此之后,WebView调整自身大小以适应新内容.但是,生成的高度不是originalSize + 100px,而是更大.我不知道问题出在哪里.我无法确定目标大小,因为它取决于附加的大小,div它将始终不同.

有人试过吗?你熟悉这种行为吗?

javascript android webview

6
推荐指数
1
解决办法
1044
查看次数

网络位置提供商需要互联网来确定位置吗?

使用网络提供商进行位置提取时,Android设备是否需要互联网?我看到很少有文章说它没有互联网,很少说它需要互联网.

我正在研究Android内部如何进行位置提取(而不是代码).

文章说我们需要互联网:设备捕获小区ID和wifi热点并将其发送到谷歌服务器.谷歌服务器返回位置信息.这些文章说我们需要互联网来获取位置.

很少有文章说使用细胞三角测量确定位置,不需要互联网.

我试图做测试以确认相同.但是测试结果令人困惑,无法从中推断出任何东西.

设备配置:我关闭了互联网,wifi扫描和GPS.这意味着设备只有蜂窝信号.应用程序每分钟捕获一次位置.

测试结果1:

  • 我无法使用上述设备配置获取位置.我跑了这个测试15分钟.
  • 然后我打开3G数据,我就到了这个位置.
  • 发布这个,我再次关闭3G,我仍然能够获得不同精度的位置.

测试用例2 :(续测试用例1)

  • 在测试用例1之后,我在办公地点始终如一地获得该位置.
  • 然后我回家了,当我检查地下室(-1楼)的位置时,我有一个位置,第一次阅读精度为~900m,第二次和其他读数没有位置.这持续了20多分钟.
  • 20分钟后,我开始接收位置.

网络位置究竟如何运作.我更关注Android内部如何获取位置而不是代码.

所以这是我的问题:

  1. 它是否通过cellid和wifi热点并获取位置(使用互联网)?
  2. 它是否进行细胞三角测量?
  3. 它是否缓存数据并使用加速计和指南针来确定没有互联网的位置?

(虽然stackoverflow中有类似的问题.它们更多地是代码而不是Android内部工作.因此发布此问题)

android locationmanager android-location

5
推荐指数
1
解决办法
1507
查看次数

Android TabLayout高度不随字体大小增加

以下是我的代码TabLayout

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    app:tabIndicatorHeight="0dp"
    app:tabSelectedTextColor="@android:color/white"
    app:tabTextColor="@color/city_grey"
    app:tabTextAppearance="@style/DashboardTabLayoutTextAppearance"
    android:paddingTop="@dimen/dp10"
    android:paddingBottom="@dimen/dp10"
    app:tabPaddingStart="@dimen/dp20"
    app:tabPaddingEnd="@dimen/dp20"
    app:tabMode="scrollable"
    app:tabGravity="fill"/>
Run Code Online (Sandbox Code Playgroud)

而 DashboardTabLayoutTextAppearance 是

<style name="DashboardTabLayoutTextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textSize">@dimen/sp40</item>
    <item name="android:fontFamily">sans-serif-light</item>
</style>
Run Code Online (Sandbox Code Playgroud)

可以看出,TabLayout高度已设置为wrap_content,选项卡文本textSize已发送到40sp

因此,TabLayout高度自然应该根据文本高度增加。但在某些设备上,它会垂直剪切文本。

这是 7 英寸标签上的结果 在此输入图像描述

而在 5.5 英寸手机上则运行得非常好 在此输入图像描述

我尝试使用layout_marginpadding属性,但它没有解决问题。

编辑1:添加代码以显示我正在初始化TabLayoutViewPager

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
    adapter.addFragment(DashboardWeeklyFragment.newInstance(weeklyData), "Weekly");
    adapter.addFragment(DashboardMonthlyFragment.newInstance(monthlyData), "Monthly");
    adapter.addFragment(DashboardDailyFragment.newInstance(dailyData), "Daily");
    viewPager.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)

android android-tablayout

5
推荐指数
1
解决办法
1193
查看次数

Bootstrap表默认排序

我使用bootstrap表,并且第一列有一个默认排序.如何更改默认列并选择另一个并使用(升序/降序)

twitter-bootstrap

3
推荐指数
1
解决办法
1万
查看次数