Articles of android layout

带有叠加层的Android可缩放/可滚动ImageView

我想显示一个图像(包括滚动和缩放function)。 另外,我需要动态地为图像添加一些叠加层。 叠加层与图像中的内容有关系。 如果用户滚动,叠加层也应该移动 如果用户缩放,则不应缩放叠加层,而是保持其与图像的相对位置 换句话说:我想用一些标记来实现Map,但我提供了自己的地图材质。 我的主要问题是:我怎么能这样做? 到目前为止我尝试了什么 我尝试在WebView中实现它,因为它提供了基本的缩放和缩放function。 但是,我没有成功添加叠加而不使用Javascript和HTML(我认为这不是解决问题的一种非常方便的方法) 有些项目(即TouchImageView )正在实现滚动/缩放function,但是从我的角度来看,它们更难以添加自己的叠加function。 问题 我的问题有一个简单的解决方案或方法吗? 在Android中运行时添加和移动视图的正确方法是什么? (通常,我会使用基本布局并使用保证金 – 这是最佳做法吗?) 请有人指出我正确的方向。 闵。 API等级:10

如何从style.xml创建AttributeSet?

这是我的故事: 我有一个自定义的ViewGroup,我希望使用预定义的样式从代码创建,到目前为止,我的方法是从style.xml元素创建一个AttributeSet对象,就像这样(警告,提防前面的复制粘贴代码): XmlPullParser parser = getResources().getXml(R.style.my_stylez); AttributeSet attributes = Xml.asAttributeSet(parser); 但是当这样做时我得到一些疯狂的错误:“.. android.content.res.Resources $ NotFoundException:资源ID#0x7f090002types#0x12无效” 我知道我可能会遗漏一些非常明显的东西(或者我?),如果你们中的任何人能指出我正确的方向,我将不胜感激。 谢谢

工具栏中抽屉切换的徽章通知 – Android

我想在应用程序中通知用户有关新的未读消息,可以通过导航抽屉访问。 我正在考虑类似Apple的通知徽章,但工具栏中的抽屉切换。 这就是我现在拥有的: 这就是我要的: 我怎样才能做到这一点?

Android 6.0.1上的微调器内部填充更大

介绍: 随着Android 6.0.1的新版本,似乎Android在Spinner组件上做了一些更改,因为默认情况下,胡萝卜周围的内部填充有点大。 我在一个应用程序中注意到这一点,我没有修改代码中的任何内容,只是更新了设备上的操作系统,但是微调器的大小不同。 情况: 我在RelativeLayout彼此相邻有2个微调器(请注意其余组件,我添加了所有内容,以便您可以看到布局的这一部分 – 删除了完全不必要的属性或视图ID) Spinner适配器用于getView()方法的布局是这样的: 为例: 屏幕截图结合了两个独立的截图: 顶部的那个采用在Android 6.0上运行的Nexus 5设备 下面的一个也是在Android 6.0.1上运行的Nexus 5设备上拍摄的 编辑1 使用支持库中的AppCompatSpinner不会更改行为。 使用的支持库版本是23.1.1

在android中包裹bezier曲线之外的文本

我想在android中的曲线外面包围bezier曲线形状的文本。 我试过的 : Path path = new Path(); path.addCircle(x, y, radius, Path.Direction.CW); myCanvas.drawTextOnPath(myText, path, offset, 0, myPaint); 我想要实现的目标 : 但是这段代码在曲线上绘制文本。我不想在曲线上写文本。我想根据曲线包装文本并将其写在下一行。 要清楚地理解它,请参考baconforme.com ..我想在不使用webbrowser的情况下在android中创建这种jquery行为。 并看到此链接在Android上如何在bezier路径中包装文本 问题 : 是否有可能实现这一目标? 如果是,那么请指导我。

如何只指定一次LinearLayout元素之间的间距?

我最近又遇到了一个问题,那就是我在过去几年里已经好几次了。 LinearLayout是一个非常方便的layout manager 。 但我完全错过的是在单个XML标记中添加元素之间的某个空间(如填充)的可能性。 我的意思是,我可以在LinearLayout的声明中定义元素之间的间距(例如,在垂直LinearLayout中,这个布局中两个元素之间的垂直空间)。 我知道我可以通过添加XML标签android:layout_marginTop或类似于LinearLayout中的每个元素来实现。 但我希望能够只在一个点上定义它,因为所有元素的间距都是相同的。 有没有人知道一个简单的方法(没有实现自定义LinearLayout或类似的东西)? 我更喜欢直接在XML中工作而无需编码的解决方案。

在CollapsingToolbarLayout中添加带标题的图标

我正在使用CoordinatorLayout来获得此效果: 这是布局代码: 这是我得到的输出如何使用带有标题文本的图标?

如何正确删除Android中按钮周围的填充(或边距?)?

目前,我有以下底部登录按钮。 没有按下按钮时 按下按钮时 XML看起来像这样 我想在按下按钮时删除按钮周围的填充(或者我应该将其称为边距?请参阅我最底层的p / s部分)。 我看看如何删除Android中按钮周围的填充? 我试过了 它不起作用也没有效果。 我进一步尝试 按下时不再填充。 然而,设计压制视觉效果的材料也将消失。 我可以知道在压制过程中删除按钮填充的最佳方法是什么,但保留材料设计的按压视觉效果? P / S 我真的不知道是否应该称之为填充或边距。 我希望实现的是,当我们按下底部区域时,按下视觉效果更改应该覆盖整个100%底栏区域( @+id/sign_in_bottom_nav_bar ),而不是当前95%的底栏区域。

折叠Android布局中的边距

是否有可能在Android中使利润率崩溃? 假设我有一个LinearLayout并添加三个TextView ,每个都有一个10 android:layout_margin 1的android:layout_margin 10dp 。 我得到以下结果: 但是,我想得到这个结果: 我知道我可以通过为不同的项目设置不同的上/下边距来解决这个问题: 将第一个项目的上边距和最后一个项目的下边距设置为10dp, 将剩余的上/下边距设置为5dp, 但这会使设计更复杂(特别是如果动态创建TextView)。 有没有办法让边距在CSS中表现得像? (有关为什么这有意义的解释,请参阅: CSS折叠边距的重点是什么? )

无法在getView中检查/取消选中CheckedTextView

我正在自定义ListView中加载手机通讯录。 每行都是一个可检查的LinearLayout,包含CheckedTextView和另一个TextView。 我正在使用自定义ArrayAdapter提供列表视图。 我的问题是我无法在getView()中控制CheckedTextViews。 例如,当我尝试以下内容时 public View getView(int position, View convertView, ViewGroup parent) { View row = convertView; if(row == null){ row = inflater.inflate(layout, parent, false); } CheckedTextView checkedTextView = (CheckedTextView) row.findViewById(R.id.checkedTextView); checkedTextView.setText(“A”); checkedTextView.setChecked(true); return row; } 每当我滚动列表视图时,应该检查每个文本视图,但这不会发生。 谁能告诉我怎么做? 编辑:在getView()中检查它是很重要的,我不能在setListAdapter()之后检查所有内容 EDIT2:这是显示每行视图的xml文件 CheckableLinearLayout是一个自定义布局,它扩展了LinearLayout并实现了Checkable,如前所述。 而且我从这里开始