问题标签 [android-linearlayout]

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 投票
2 回答
370 浏览

android - 这个android布局xml块中的错误是什么

当我尝试调试我的应用程序时,当我在布局中包含此 xml 时会出现运行时异常。我看不出它有什么问题,你能吗?我正在使用 android eclipse 插件,eclipse 3.5.2,在 winxppro 32 位 sp3 上使用最新的 android 插件和最新的 java 6...21 谢谢。

我同时也得到了这些异常:

java.lang.IllegalArgumentException:在 org.eclipse.swt.SWT.error(SWT.java:3799) 在 org.eclipse.swt 的 org.eclipse.swt.SWT.error(SWT.java:3865) 的参数不能为空.SWT.error(SWT.java:3770) 在 org.eclipse.swt.widgets.TreeItem.checkNull(TreeItem.java:205) 在 org.eclipse.swt.widgets.TreeItem.(TreeItem.java:195) 在 org .eclipse.gef.editparts.AbstractTreeEditPart.addChildVisual(AbstractTreeEditPart.java:75) 在 org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:210) 在 org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart .java:771)在 org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:718) 在 org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:252) 在 org.eclipse.gef。 editparts.AbstractEditPart.addChild(AbstractEditPart.java:211) 在 org.eclipse.gef。editparts.RootTreeEditPart.setContents(RootTreeEditPart.java:140) at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:617) at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer. java:626) 在 com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.xmlModelChanged 的​​ com.android.ide.eclipse.adt.internal.editors.layout.gle1.UiContentOutlinePage.reloadModel(Unknown Source) (未知来源) com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor$XmlModelStateListener.modelChanged(未知来源) org.eclipse.wst.sse.core.internal.model.AbstractStructuredModel.fireModelChanged(AbstractStructuredModel.java :553) 在 org.eclipse.wst.sse.core 的 org.eclipse.wst.sse.core.internal.model.AbstractStructuredModel.internalModelChanged(AbstractStructuredModel.java:887)。internal.model.AbstractStructuredModel.changedModel(AbstractStructuredModel.java:382) 在 org.eclipse.wst.xml.core.internal.document.DOMModelImpl.changedModel(DOMModelImpl.java:167) 在 org.eclipse.wst.sse.core。 internal.undo.StructuredTextUndoManager.undo(StructuredTextUndoManager.java:648) at org.eclipse.wst.sse.ui.StructuredTextViewerUndoManager.undo(StructuredTextViewerUndoManager.java:183) at org.eclipse.jface.text.TextViewer.doOperation(TextViewer. java:3938) 在 org.eclipse.jface.text.source.SourceViewer.doOperation(SourceViewer.java:921) 在 org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1533) 在 org .eclipse.wst.sse.ui.internal.StructuredTextViewer.doOperation(StructuredTextViewer.java:604) 在 org.eclipse.ui.texteditor.TextOperationAction$1.run(TextOperationAction.java:131) 在 org.eclipse.swt。custom.BusyIndi​​cator.showWhile(BusyIndi​​cator.java:70) at org.eclipse.ui.texteditor.TextOperationAction.run(TextOperationAction.java:129) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)在 org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185) 在 org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109) 在 org.eclipse.core.commands.Command .executeWithChecks(Command.java:476) 在 org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) 在 org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) 在org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470) 在 org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824) 在 org.eclipse.ui.internal。键。WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java :510) 在 org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 的 org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)。 swt.widgets.Display.filterEvent(Display.java:1208) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java: 1027) 在 org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040) 在 org.eclipse.swt.widgets.Widget 的 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012) org.eclipse.swt.widgets.Widget 上的 .sendKeyEvent(Widget.java:1036)。wmChar(Widget.java:1368) at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4053) at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346) at org.eclipse .swt.widgets.Control.windowProc(Control.java:3946) 在 org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342) 在 org.eclipse.swt.widgets.Display.windowProc(Display.java :4619) 在 org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2411) 在 org.eclipse.swt.widgets 的 org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) .Display.readAndDispatch(Display.java:3501) 在 org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) 在 org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) 在org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) 在 org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) 在 org.eclipse.core.databinding。observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org .eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 在 org.eclipse.core.runtime .internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 在 org.eclipse.core.runtime.adaptor.EclipseStarter .run(EclipseStarter.java:368) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl。在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) 的 java.lang.reflect.Method.invoke(Unknown Source) 的 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 调用(Unknown Source)在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1311)

0 投票
5 回答
47984 浏览

android - RelativeLayout 比 LinearLayout 贵吗?

每次我需要一个 View 容器时,我总是使用 RelativeLayout,因为它很灵活,即使我只是想显示一些非常简单的东西。

从性能/良好实践的角度来看,这样做可以吗,或者我应该尝试使用 LinearLayout 吗?

谢谢!

0 投票
1 回答
3228 浏览

android - 获取线性布局的高度

我想得到 a 的高度linearlayout。我在这个答案中找到了更多信息

View.getWidth()/View.getHeight()在测量视图之前不会给你一个有意义的答案。

我如何知道该视图已被测量?有什么活动吗?

升级版:

我的解决方案是在覆盖的 onWindowFocusChanged() 中获取布局的高度

0 投票
1 回答
569 浏览

android - 自定义 ListView 适配器强制关闭 :(

我是 android 的新手,一直在按照网上发布的教程来试验 android 的编码。我正在尝试显示一个包含来自两个不同数组的输入的列表,但是每次我运行代码时,我都会不断逼近并且似乎可以弄清楚我做错了什么。这是我的代码(来自在线教程)

主要的.XML

列表视图.xml

显示.java

此代码也可以在http://www.androidpeople.com/android-custom-listview-tutorial-example/找到,

我已经尝试了好几次,改变了不同的值,甚至尝试打印一个数组,但都没有成功,并继续逼近。如果有人能够指出代码有什么问题并指出我正确的方向,我将不胜感激。

0 投票
1 回答
5916 浏览

android - 有没有办法完全消除包含按钮的 LinearLayout 中的填充?

我尝试了以下尝试以水平线性布局显示两个按钮,按钮的边缘与线性布局的边框齐平。令我惊讶的是,我发现按钮与线性布局的左、右和下边缘之间总是有填充。只有按钮的顶部边缘最终与线性布局的边框齐平。这是为什么?有没有办法控制这种行为?非常感谢。

0 投票
1 回答
322 浏览

java - LinearLayout问题[Android]

好吧,我贬低自己。它实际上让我感到困惑,因为它在模拟器上显示得很好,而不是在我的手机上。

在模拟器上,我看到自定义 SurfaceView _map 对象占据了整个屏幕,除了底部的 EditText 文本框,就在它应该在的位置。当我在摩托罗拉 Droid 上运行相同的代码、相同的所有内容时,任何地方都看不到 EditText。

我认为我所拥有的 LinearLayout 实现缺少一些东西。到目前为止,我在学习如何使用另一个 API 的布局管理器方面已经很轻松了。

这是代码:

看起来如此简陋,所以老实说,我不知道为什么它在实际的 Android 设备上运行时会吃掉我的 EditText。可悲的是,我已经花了很多时间让它在模拟器本身中正确显示。

0 投票
3 回答
7305 浏览

android - 如何在 MapView 下方添加 TextView?

我关注了Hello Views,Google Map View,现在我想TextViewMapView. 我只更改了布局文件并将和main.xml放置在一个垂直的. 我的 Eclipse 设置为自动构建它,但是当我在模拟器中运行应用程序时,我只能看到.MapViewTextViewLinearLayoutMapView

如何在 aTextView下面添加 a MapView

这是我的布局main.xml

0 投票
2 回答
19303 浏览

android - Android中的中心对齐

我想知道如何以编程方式使 GUI 小部件居中。请帮助我。我正在使用线性布局。

许多问候。

0 投票
2 回答
5403 浏览

android - 在 Android 上的 LiveWallpaper 中使用布局资源

当您在 Android 2.2+ 中创建 LiveWallpaper 时,您会得到一个画布(或任何 3D 等效物)来绘制。我想使用内置的 Android UI 工具绘制一些元素,而不是使用画布命令或加载预渲染的 UI 位图从头开始构建所有内容。

将单个视图转换为位图可以正常工作。即这很好用:

但是,使用子元素转换 LinearLayout 会导致问题。你得到 LinearLayout 本身,没有它的孩子。例如,如果我将 LinearLayout 设置为具有白色背景,我会得到一个渲染良好的白色框,但位图中没有 TextView 子项。我也尝试过使用具有类似结果的 DrawingCache。

我使用的代码是立方体示例,唯一的变化是一个额外的绘制命令。LinearLayout 可以作为吐司或常规视图正常工作(即一切都很好地显示),在 LiveWallpaper 上我得到的只是 LinearLayout 的背景渲染。

有谁知道您是否需要做任何特别的事情才能让孩子正确呈现到我的位图上?即我是否需要以某种方式做一些特别的事情来使布局呈现其余的孩子?我应该编写一个函数来递归地对所有孩子做某事吗?

我可以自己合成所有内容,但是,由于显示是相当静态的(即我绘制一次并保留位图的副本以在背景上绘制),这对我来说似乎更容易并且仍然非常有效。

编辑: 虽然对布局的状态进行了深入研究,但它看起来好像布局没有沿着视图树向下推进(即,LinearLayout 在我调用 layout() 时计算其布局,但子级的大小为 null (0x0) )。根据 Romain Guy 在 2008 年android developer post 的帖子。您必须等待布局通过或自己强制布局。问题是如何等待来自墙纸引擎的布局传递,用于未附加到根视图组的 LinearLayout?如果布局需要您设置左、上、右、下,而我不知道这些应该是什么,我该如何手动布局每个子元素。

我试过对孩子们调用 forceLayout ,但它似乎也没有帮助。我不确定布局框架在幕后是如何工作的(除了它做了两遍布局)。有没有办法手动让它做布局通过,即现在?因为它不是一个活动,所以我认为很多正常的背景事情都不会像我想要的那样发生。

0 投票
1 回答
710 浏览

android - 为什么我的水平 LinearLayout 没有为其内容保留足够的高度?

我正在开发一个显示世界各国信息的应用程序(我正在学习一些真实的东西,我已经有了这些数据)。我的部分布局是一个包含国家国旗和一些基本信息的 LinearLayout。标志右侧的表格中有五行信息。问题是 LinearLayout 只使用标志的高度作为它的总高度。大多数标志都是 2.5 行高,所以我的一些信息被切断了。为什么 LiniearLayout 的高度不是它的两个元素中最大的?关于我可以做些什么来完成这项工作的任何建议?

这是有问题的 LinearLayout 的定义:

I tried reversing the table and the image view so the flag was on the right and the information on the left. I was hoping that the height of the LiniearLayout would now be the height of the information table. No luck it was still the height of the flag.

Any help would be appreciated.

Thanks,

Ian