小编Add*_*dev的帖子

"最小化"Android中的活动(不要完成)

我想"最小化"应用程序,使其在后台完全相同,当用户单击按钮时按下主页按钮(但没有完成)我该怎么做?

android android-activity

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

具有颜色的可绘制状态(不可绘制)

我想给视图一个背景颜色,具有以下行为:按下视图时背景应为绿色,否则为黑色.

这个选择器工作

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/green" android:state_pressed="true"/>
    <item android:drawable="@drawable/black"/>

</selector>
Run Code Online (Sandbox Code Playgroud)

但为此,我需要创建一个具有所需颜色的九个补丁3x3文件.我怎样才能达到相同的行为,但是给出了颜色代码而不是可绘制的?

谢谢

java android colors

9
推荐指数
1
解决办法
3813
查看次数

将图像放在webview中并使其适合宽度

我想使用WebView来显示可能很大的图像(以便抓住它的内存管理).对于测试,我在WebView中加载此代码

<head></head>
<body>
    <img alt="test" src="file:///android_asset/cute-cat-sleeping.jpg">
</body>
Run Code Online (Sandbox Code Playgroud)

问题是,如果我"按原样"加载到网络中.WebView仅允许缩小,直到图像的第一个维度适合屏幕.在此示例中,图像高度完全显示在WebView中,然后不再允许缩放:

没有缩放没有setUseWideViewPort

正如您所看到的,此模式不允许正确显示全局图像,尽管在缩放图像时右下角的行为是正确的,如您在此处所见

正确的缩放显示

所以我尝试了(WebView).getSettings().setUseWideViewPort(true),结果是我可以缩小比图像的宽度更多

使用setUseWideViewPort

并且右下边框中的缩放行为不正确:

用setUseWideViewPort缩放

总结:我希望最大缩小可能是imageWidth = webview宽度和缩放行为,如第二张图片中所示:

在此输入图像描述

完整和/或有用的答案将得到赏金

编辑:Bounty为Vinayak.B开放

java android webview

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

不使用setZOrderOnTop使SurfaceView透明(true)

我有一个RelativeLayout包含一个自定义SurfaceView和其他必须在SurfaceView上绘制的元素.我还需要SurfaceView是透明的.我试过这个答案:如何使surfaceview透明.但是使用setZOrderOnTop(true),RelativeLayout中SurfaceView上的其他元素显示在Surface上方(如果表面有油漆,则部分隐藏).

我怎么解决这个问题?谢谢

java layout android

9
推荐指数
1
解决办法
5811
查看次数

如何在活动之间传递大型集合(Master-Detail流程)

背景:

我正在实现一个应用程序,它可以从Web服务中读取有关电影的信息.该Web服务返回有关每部电影的几个信息(标题,日期,海报网址,导演,演员等).

该Web服务支持分页,因此电影以100个一包的形式加载.

执行:

这个想法是显示一个包含所有海报的网格.当用户向下滚动时自动请求更多项目.

在此输入图像描述

单击某个项目时,用户将导航到包含所选影片详细信息视图的库,允许使用ViewPager滚动详细信息.

在此输入图像描述

因此,我们的想法是将网格中检索到的电影集合传递给"DetailedGalleryActivity".

更新:当用户离开片段以处理片段生命周期时,还需要保存状态.您可以测试它启用Developer选项:不要保留活动

问题

我的第一种方法是在json中序列化电影集合,并将其作为String Extra传递给Activity.

但由于电影列表很大,如果用户在网格中滚动很多,则json的大小对于Bundle来说非常大(请参阅字符串数据的最大大小),从而获得运行时异常.

我已经检查了一些答案,这些答案谈到在启动详细信息活动之前将数据保存在SharedPreferences或其他持久存储中,然后从详细信息中访问它.我发现这个解决方案很奇怪,因为它忽略了使用自定义和手工制作的解决方案在活动之间传递数据的机制.

解决这个问题的最佳方法是什么?

java android android-activity

9
推荐指数
1
解决办法
165
查看次数

在运行时为Android检索apk签名

有没有办法在运行时检索有关apk签名的信息?

例如,我有相同的应用程序签署了2个不同的签名:app-1.apk和app-2.apk,我希望能够在运行时区分两个apk.那可能吗?

我的目标是使用外部服务器并基于应用程序的版本代码和签名来实现许可系统.

android

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

ImageView:填充水平维持宽高比

我需要一个ImageView缩放图像,直到水平填充父级.

如果图像视图背景为红色,其余内容(图像下方)为绿色,我正在寻找图片1所示的结果.如果图像宽度高于屏幕宽度,则自动获得该结果.

但如果是图片2中的小图片,我可以得到的最好结果是图片3(将ImageView宽度和高度设置为fill_parent,将scaleType设置为FitStart

获得图片4设置height = wrap_content,width = fill_parent,scaleType = CenterCrop.它应该垂直缩放以显示整个图像,但是当scaleType表示它会裁剪它.

即使图像很小,任何获取图片1的想法?

将奖励50分给工作答案

在此输入图像描述

layout android imageview android-layout

8
推荐指数
1
解决办法
6850
查看次数

在XML(Android)中缩放可绘制资源

我正在尝试将drawable缩放到原始大小的两倍.我正在尝试使用它:Drawable Resouces.我目前的代码是:

绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/ic_launcher"
    android:scaleHeight="80%"
    android:scaleWidth="80%" >

</scale>
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/scale2" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

但是第二个ImageView中没有显示任何内容.我该如何解决?

xml android android-layout

8
推荐指数
2
解决办法
4万
查看次数

在swift中替换文件名的扩展名

给定一个格式的字符串filename.fileextension我想用fileextension替换newextension.我该怎么做?

在java中它会

foo.substring(0, foo.lastIndexOf(".")) + ".newextension"
Run Code Online (Sandbox Code Playgroud)

ios swift

8
推荐指数
2
解决办法
5221
查看次数

如何在Webview中加载的Web上进行替换

我正在使用webview实现一个应用程序.对于webview中加载的url,我需要对url中加载的html代码执行替换.

我怎样才能以有效的方式做到这一点?

说明:我需要从源代替特定的脚本脚本:

例如:我想

<html>
    <script> SCRIPT A</script>
    <p>Hello World</p>
</html>
Run Code Online (Sandbox Code Playgroud)

我想向对方显示用户

<html>
    <script> SCRIPT B</script>
    <p>Hello World</p>
</html>
Run Code Online (Sandbox Code Playgroud)

谢谢

html java android webview chromium

8
推荐指数
1
解决办法
115
查看次数