Articles of android layout

如何在android上获得默认警报Dialog有一个黑色主题

如何在Android指南http://developer.android.com/guide/topics/ui/dialogs.html上显示android中的黑色主题对话框 我拍了一个屏幕截图。 每当我使用Alert Dialog时,我都会看到左边的对话框,我想要右边的那个。

Android:在Android中使用XML进行animation翻转animation

为了在网上搜索,我发现有一个ViewFlipper类,它给出两个视图之间的Flip视图animation/但是对于那个应该在同一个Activity中。 我也知道Flipanimation不会被用于活动更改。 现在,android在活动更改期间仅支持2danimation。 我想要的是改变活动的效果。 那么有没有类似像xmlanimation一样的效果,就像FLip View一样,所以我提供了我的活动更改并获得活动更改的此类翻转效果。 请给我一些animation的xml,它给出了Fliptypes的animation,可以用来改变活动。 谢谢。

RecyclerView:在创建视图后立即查找最后一个可见项目

我遇到以下方法的问题: int firstVisibleItemPosition = gridLayoutManager.findFirstVisibleItemPosition(); int lastVisibleItemPosition = gridLayoutManager.findLastVisibleItemPosition(); 我的目标:保存用户查看过的项目的分析数据。 为了做到这一点,我在两种不同的场景中调用这些方法: 每次滚动都转到“空闲”状态,并检查可见项目是什么。 在那种情况下,我得到了预期的索引。 当RecyclerView变得对用户“可见”时。 现在就是问题开始的时候。 我希望当包含recylcerView的片段传递给onResume()调用findLastVisibleItemPosition()将返回可见项。 但在这种情况下,它返回-1。 我想它与RecyclerView +适配器内部项初始化相对于片段/活动生命周期的异步加载有关。 通过将此代码推迟几毫秒 – findLastVisibleItemPosition()返回正确的索引。 但我不想推迟使用处理程序+延迟runnable进行硬编码,因为调度延迟runnable是我真正想要做的解决办法:检测回收器视图何时完成充气并将所有视图绘制到屏幕上脚里面.. 所以我的问题基本上是: 如何检测RecyclerView何时完成所有初始化/测量/充气并将其绘制到屏幕上的子项? (在任何用户交互之前……)。 有没有可靠的良好实践方法来确切知道回收者视图中的哪些项目真正显示在屏幕上?

在包含ScrollView的活动中强制调整adjustPan

我的布局看起来像这样: 当专注于中间的EditText时,软键盘会按预期popup,但它总是调整布局大小,即使我在清单中有android:windowSoftInputMode=”adjustPan” 。 resize的问题是只有ScrollView会缩小,而且RelativeLayouts的上方和下方都完好无损,这几乎可以完全掩盖EditText。 当键盘显示时,我试图隐藏RelativeLayouts(这是另一个悲伤的故事),但adjustPan听起来更合适。 但是它对此活动没有影响。 尽管存在ScrollView,我怎样才能强制adjustPan工作? 更新: 所以不会让我回答我自己的问题,但解决方案是在ScrollView上设置android:isScrollContainer=”false” 。

XML资源中的variables – 将值从父级传递给子级

我正在尝试重用原始形状,并使用这些声明性XML元素组成我的大部分用户界面。 如何制作variablesAndroid属性? 但我不想为每个属性值及其排列创建单独的XML文件,并且在此过程中复制大部分工作。 例如,我希望这个形状的消费者能够定义android:radius值? 使用XML父级设置属性? 解决方案? 如果可能的话,我不想使用任何Java代码隐藏/避免创建自定义控件/类的需要 使用维度资源可能是一个富有成效的途径?

防止覆盖导航栏的BottomSheetDialogFragment

我正在使用非常天真的代码来显示底部对话框片段: class LogoutBottomSheetFragment : BottomSheetDialogFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.view_image_source_chooser, container, false) return view } } 这就是我调用这个对话框的方式: LogoutBottomSheetFragment().show(supportFragmentManager, “logout”) 但是我在下图中看到了这种可怕的情况。 如何将导航栏保持为白色(背面/主页软件按钮所在的底栏)? 我正在使用的应用主题: </style true false @color/colorPrimary @android:color/white @color/charcoal_grey @color/charcoal_grey @color/charcoal_grey @color/charcoal_grey @color/charcoal_grey @color/charcoal_grey @color/white 我也尝试覆盖setupDialog而不是onCreateView,但仍然会发生: @SuppressLint(“RestrictedApi”) override fun setupDialog(dialog: Dialog, style: Int) { super.setupDialog(dialog, style) […]

Eclipse Visual Editor中的自定义Android视图

在我的应用程序中,我经常依赖自定义构建视图,例如在以下示例中。 问题是,我不知道如果它在真实设备或模拟器上运行之前是否会正确显示。 此外,如果我发现错误,我将不得不对其进行更改并再次部署应用程序以查看更改是否按预期工作。 这可能是一个漫长而枯燥的过程,特别是如果应用程序需要一些交互来访问您要检查的活动。 使用可视化编辑器不起作用,因为它无法加载自定义视图。 是否有另一种方法可以检查视图的显示方式而无需在整个应用程序中运行?

清除SingleChoice ListView选择

有没有办法清除ListView中的选定项? ListView的定义如下: 并使用自定义适配器填充。 使用选择器突出显示所选项目: 现在我真正拥有的是单个活动中的2个ListView,以及项目的时间 在一个ListView中选择我要取消选择另一个ListView中的项目。 单击一个项时,两个ListView都会引发以下处理程序: void DeviceList_Click(object sender, EventArgs e) { //easy enough to check which ListView raised the event //but then I need to deselect the selected item in the other listview } 我尝试过这样的事情: exampleList.SetItemChecked(exampleList.SelectedItemPosition, false); 和 exampleList.SetSelection(-1); 但这似乎不起作用。

自定义布局,围绕其内容的角落

我想创建一个通用的ViewGroup,然后可以在XML布局中重用它来围绕任何放入它的角落。 由于某种原因, canvas.clipPath()似乎没有效果。 我究竟做错了什么? 这是Java代码: package rounded; import static android.graphics.Path.Direction.CCW; public class RoundedView extends FrameLayout { private float radius; private Path path = new Path(); private RectF rect = new RectF(); public RoundedView(Context context, AttributeSet attrs) { super(context, attrs); this.radius = attrs.getAttributeFloatValue(null, “corner_radius”, 0f); } @Override protected void onDraw(Canvas canvas) { int savedState = canvas.save(); […]

视图传呼机隐藏在标签栏后面的片段

我的android项目中有Tab栏和ViewPager的问题。 应用程序的作用是有一个活动,它包含一个标签布局,然后有一个代表每个标签的2个片段。 当活动打开时,它会发布到API以获取一些数据,并将数据放入数据适配器中,以便在每个片段中进行Recycler View和Card布局。 回收者视图将包含3个项目,但只显示2个项目,因为第一个项目隐藏在工具栏和/或标签栏下方,如下面的屏幕截图所示。 下面是我的活动的布局文件 下面是片段的布局 下面是卡片布局的布局 下面是上面提到的屏幕截图,显示了问题。 我已经像素化了一些文字,但它应该是我的意思,应该有3个项目,但第一项隐藏在标签栏下面。 感谢您的任何帮助,您可以提供