问题标签 [android-ui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
45914 浏览

android - 如何以编程方式更改 ToggleButton 状态?

我有一个这样定义的 ToggleButton:

我想以编程方式改变它的状态。我尝试使用setCheckedandtoggle方法,但在我的情况下这些都不起作用。

我有一个持续的通知,当我的活动收到通知意图时,切换按钮应设置为未选中,但它不起作用。

我在活动的onResume. 代码正在执行,但 ToggleButton 的状态没有改变。

奇怪的是,如果我调用setChecked(false)活动onCreate,它确实会改变按钮的状态,但不会改变 on onResume。我错过了什么?

谢谢。

0 投票
3 回答
7999 浏览

android - 获取当前图片在图库中显示的位置

在我的应用程序中,我有一个图片库,

但我想检测当前显示图像的位置,

例如:当我启动我的活动时,位置是 0,但是当我在我的画廊中滚动时,我想获得显示的当前图像的位置,

我试过 OnFocusChanged , OnItemClicked ,但只有当我点击我画廊的一个项目时才有效

有任何想法吗 !:(

0 投票
1 回答
110 浏览

android - 当我单击同一布局上的按钮时,TableLayout 的 ChangeBackground

我创建了一个具有 2 个表格布局的线性布局。在第一个表格中我有按钮。现在我想在单击按钮时更改 2dn 表格布局背景。不是整个布局,只有第二个表格布局背景会被更改。请帮我一些示例代码。

0 投票
1 回答
6230 浏览

android - 对话框 onShowListener() 接口

我想在对话框中显示自定义动画,而不是在对话框中显示常规动画。

以下是我的布局 XML 文件:

在 Dialog 的 onShowListener 中,我调用了,

如您所见,我在 OnShowListener 中的对话框之后启动了动画。如果我以任何其他方法启动动画,例如对话框的 onStart()、onCreate() 方法,动画将无法工作,因为 AnimationDrawable 未附加到窗口。

但是 onShowListener 接口来自 API 级别 8。我的问题是,在 API 级别 8 之前有什么方法可以知道 AnimationDrawable 是否附加到窗口?

0 投票
1 回答
8424 浏览

android - 帮助: View.setMargins(left , top, right , bottom ) ;

在我的应用程序中,我对某些视图使用 setMargins(....) 方法。

在我的布局中,我用“dp”而不是像素来固定视图的宽度、高度和大小,

在我的代码中,当我设置 Margins 时,结果很糟糕,但是当我在布局中用 px 更改 dp 时,效果很好。

所以我的问题是:我可以用 dp 值设置边距吗??例子 :

提前致谢

0 投票
1 回答
1654 浏览

android - 如何限制或控制 Android Gallery 中的滚动?

在此代码中,滚动从中间开始并在中间结束,左侧或右侧显示空白或空白,我该如何防止这种情况?滚动应从最后一张图像停止并从第一张图像开始。

0 投票
1 回答
663 浏览

android - 弹出窗口内的放大镜等功能....如何?

我需要在我的应用程序中创建类似放大镜的功能。就像 iPhone 上的“放大镜”效果!问题是我需要在弹出窗口中执行此操作,但我不知道如何使它工作!

弹出窗口显示我使用 shapeDrawables 生成和绘制的颜色网格。我想要的是显示更大的颜色,当用户触摸并在弹出窗口(颜色网格)周围移动手指时放大它。这个想法是在颜色上创建跟踪缩放效果,以便用户可以在他的手指当前所在的颜色下更清楚地看到。

问题是:

  • 我似乎无法在此之上创建另一个弹出窗口,我认为是 Android 限制?
  • 如果我修改当前shapeDrawable,resize,改变边界,需要重新显示弹窗才生效(当然不能接受)

那么,任何人都知道我可以在那个弹出窗口上绘制的方法吗?

编辑 :

我已经尝试使用自定义 Toast 对象来解决这个问题......但它并没有完全解决问题。它可以工作,但是 toast 对象出现的速度很慢,因此触摸动作与用户在颜色网格上的移动完全不同步。

0 投票
1 回答
4346 浏览

android - Android表格布局适配器建议?

我正在尝试创建一个应用程序来帮助跟踪团队会议和活动的出席信息。这是一个简单的应用程序,将显示一种电子表格样式的外观。行是团队中的每个人,列是事件和会议发生的日期。

我正在使用 SQL 数据库执行此操作,并且我将动态地将行和列添加到数据库中。

我的问题是......是否有一个很好的布局/适配器组合可以用来更容易地从数据库中提取数据并将其放入布局中?

0 投票
7 回答
46183 浏览

android - Android getMeasuredHeight 返回错误值!

我正在尝试确定某些 UI 元素的实际像素尺寸!

这些元素是从 .xml 文件中扩展而来的,并使用倾斜宽度和高度进行初始化,以便 GUI 最终支持多种屏幕尺寸和 dpi(如 android 规范所推荐的那样)。

这个先前的 xml 代表一帧。但是我确实在此处描述的水平布局中动态添加了许多内容:

定义为在我的 java 代码中添加一帧的方法:

然后在我的代码中,我尝试获取以像素为单位的实际实际大小,因为我需要它来在它上面绘制一些 opengl 的东西。

一切似乎都很好,只是这些值比 ImageView 的实际像素大小要大得多。

来自 getWindowManager().getDefaultDisplay().getMetrics(metrics) 的报告信息;如下:密度 = 1,5 densityDpi = 240 widthPixel = 600 heightPixel = 1024

现在,我知道 android 的规则是:pixel = dip * (dpi /160)。但是返回的值没有任何意义。对于 (90dip X 110dip) 的 ImageView,measure() 方法的返回值为 (270 x 218),我假设它以像素为单位!

有人知道为什么吗?返回的值是否以像素为单位?

顺便说一句:我一直在测试相同的代码,但使用 TextView 而不是 ImageView 并且一切似乎都运行良好!为什么 !?!?

0 投票
1 回答
102 浏览

android - 如何在 Android 中创建一个向前、向后的系统

我正在构建一个基于步骤的游戏,所以我需要能够创建前进和后退按钮。

每个步骤都有一个 ID,它的信息取自 SQLite 数据库。我将在共享首选项中保存maxLevel最大达到的步骤以及currentStep当前步骤。现在我想知道如何开始一个新的动作,将某人带到下一步/上一步,而不会过多地堵塞记忆。我知道我可以开始一个新动作并传递如下数据:

现在我主要担心的是内存使用情况。如果我使用它前进 2 次,然后返回 2 次,然后再前进 2 次,它不会创建 6 个活动实例吗?这可能是一个巨大的记忆猪。

所以这里的问题是:

如何实现具有 1 个活动的前进/后退系统,即重新启动并从数据库中检索数据?

有关更多背景信息:该活动是一个 TabHost,它有 4 个选项卡,每个选项卡内部都有一个活动。每个活动都从数据库中检索它需要的数据。因此,我担心内存使用情况。

编辑:

我似乎找到了解决办法。我finish()在开始新活动之前调用该函数。我相信,这应该有助于避免任何泄漏。我这样想对吗?