Articles of 布局

删除水平进度条中的填充

在我们的应用程序中,我们需要一个不确定的进度条,如下所示: 我们可以通过在ProgressBar上设置负边距来实现这一点,如下所示: <ProgressBar android:id="@+id/progressbar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="true" android:marginTop="-7dp" android:visibility="@{loading ? View.VISIBLE : View.GONE}" /> 但是因为ConstraintLayout不支持负边距,所以看起来像这样: 好的,负边缘是一个黑客。 我们用一个不同的黑客代替它吧? 我们来介绍一下我们的自定义视图CustomProgressBar ,它扩展了ProgressBar并覆盖了它的onDraw方法,如下所示: @Override protected void onDraw(Canvas canvas) { int marginTop = dpToPx(7); canvas.translate(0, -marginTop); super.onDraw(canvas); } 但是,所有这些闻起来都像糟糕的代码。 必须有更好的解决scheme! 你会推荐什么?

如何为Android布局文件创build可重用的xml包装

我有几个大致相同的布局文件,除了一个部分。 有没有办法让我可以在一个地方共同使用XML? 而不是复制/粘贴,并且当我想要更改一个文件时不得不更新一堆文件? 我知道我可以从其他XML文件中包含XML,但通用代码不是内部控件; 它是外包装; 所以包括不起作用。 基本上,我有一堆文件,看起来像这样: <LinearLayout android:id="@+id/row" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <ImageView android:layout_height="26dp" android:id="@+id/checkImage" android:layout_width="26dp" android:layout_alignParentTop="true" android:scaleType="fitCenter"/> <!– Different types of views go here depending on which layout file it is –> <ImageButton android:layout_height="fill_parent" android:id="@+id/playButton" android:layout_width="42dp" android:src="@drawable/play_button" android:scaleType="center" android:background="#00000000"/> </LinearLayout> 基本上,我想要做什么ASP.Net与母版页。 有没有这个选项?

Android:创build父级布局并对其进行扩展,以在应用程序的所有活动中保持相同的外观和感觉

我正在写一个应用程序,我有多个屏幕,我想坚持一个特定的主题。 例如:所有的屏幕应该有相同的背景,所有的屏幕应该有一个相同的行动(不一定依赖于当前正在显示的活动)的顶部酒吧,所有的屏幕应该共享相同的字体。 有没有办法在Android创build一个其他布局扩展的父布局,因此,如果我需要改变一些元素(比如背景颜色),我不必在每个单独的屏幕上做,而只是在父屏幕上。 我想我问的是,有没有在Android的布局inheritance? 谢谢,e。

将libgdx游戏configuration为“专为平板电脑devise”

我已经通过libgdx构build了一个游戏,并将apkfile upload到了开发者控制台。 但是,这是说 您的Production APK需要符合以下条件: 您的布局应该利用平板电脑上的可用空间 那么我应该对布局做些什么改变? 因为据我所知,在libgdx中,布局与游戏完全无关。

定位确定/取消button,使其模仿对话框中的布局

正如你们中的一些人可能已经注意到的那样,Android在ICS之后改变了在对话框中显示确定/取消button的顺序(请参阅此问题 )。 改变可能是有道理的,我不是在争吵。 我的问题是,你们如何处理支持新主题(因为操作栏)和“原始”主题的应用程序? 我们怎样才能调整我们的布局顺序与对话框中的顺序? 我试图查看对话框的代码,但它没有做任何特别的事情,顺序是在布局文件中确定的(对于Holo来说,它的样式是不同的)。 有没有人创build了一个片段或小部件,考虑到这一点?

ListView项目阴影+自定义select器

我想在ListView项目中放置阴影,并应用自定义select器。 但是我不知道如何同时使用它们。 这是shadow.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item > <shape android:shape="rectangle"> <solid android:color="@android:color/darker_gray" /> </shape> </item> <item android:right="1dp" android:bottom="2dp"> <shape android:shape="rectangle"> <solid android:color="@android:color/white"/> </shape> </item> </layer-list> 和自定义select器: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:drawable="@android:drawable/color/white" /> <item android:state_pressed="true" android:drawable="@drawable/pressed_background_blue" /> </selector> 我试图将select器应用于整个ListView android:listSelector="@drawable/selector.xml"和阴影ListView项目android:background="@drawable/shadow.xml"但在这种情况下,ListView项目将有阴影,不要触摸。 先谢谢你

奇怪的updateViewLayout行为

我有一个视图(自定义绘制)添加与getWindowManager().addView()和更高版本我修改它的LayoutParameters (改变x & width ),并调用getWindowManager().updateViewLayout() 。 这工作,但我得到两个屏幕刷新,第一个只移动整个事情根据新的x和后来一个按照新的宽度缩放它。 任何想法,为什么会发生这种情况,即使我只调用updateViewLayout一次新的布局参数? 仅供参考:此处提到的自定义绘制视图的onDraw方法在此过程中也仅由系统调用一次。

从底部滚动隐藏的视图/布局

这是我想要实现的: 我想使用AbsoluteLayout,但不推荐使用。 因此,我在上图中的蓝色视图下创build了一个RelativeLayout,然后将所有内容放在一个ScrollView中,但是隐藏的视图仍然在蓝色视图上,而不是在其下面。 此外,屏幕滚动,但隐藏的部分只是切,而是我看到我的应用程序的默认背景.. 有任何想法吗? 编辑:我目前的尝试: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:fillViewport="true" android:layout_height="wrap_content"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:animateLayoutChanges="true" android:orientation="vertical" > <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/imageView" /> <LinearLayout android:id="@+id/centerHolder" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:orientation="vertical" > ….. ….. </LinearLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="1000dp" android:layout_below="@id/main_holder" android:background="@color/black_color"> </RelativeLayout> </RelativeLayout> </ScrollView>

AdMob消失后的空白空间

我有布局结构: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.google.ads.AdView android:layout_width="fill_parent" android:layout_height="wrap_content" ads:adSize="BANNER" /> <LinearLayout style="@style/TitleBar" android:layout_width="fill_parent" android:layout_height="45dip" // title bar </LinearLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" // main layout with all needed elements and background!" > </RelativeLayout> </LinearLayout> 一切都很好,直到我的AdMob消失。 然后我可以看到admob大小的空黑区域。 更新:我的屏幕截图: 通常我cas看到这里的广告块,但是当我getFileToReceiveAd(广告请求成功,但没有广告由于缺乏广告库存返回)广告disappers和我的布局不填充所有屏幕。

android:如何使一个子视图重叠父项?

我需要按照图片来实现布局。 父和兄弟在一个垂直的LinearLayout中。 所以我需要做一个子视图重叠它的父母。 我可以在android中做到这一点?