Articles of android layout

以编程方式获取布局的高度和宽度

我devise了一个布局,其中LinearLayout有两个孩子LinearLayout和FrameLayout并在每个孩子我把不同的意见。 我只是想测量FrameLayout高度和宽度,以便我可以达到我的目的。 在我正在使用的程序中 int height,width; FrameLayout fr=(FrameLayout)findviewbyid(R.id.fr); height=fr.getHeight(); width=fr.getWidth(); 为两者返回值为0 即使我试着用下面的代码int height,width; FrameLayout fr=(FrameLayout)findviewbyid(R.id.fr); height=fr.getMeasuredHeight(); width=fr.getMeasuredWidth(); 返回相同的值0 最后我试着用下面的代码,int height,width; FrameLayout fr=(FrameLayout)findviewbyid(R.id.fr); height=fr.getgetLayoutParams().height(); width=fr.getLayoutParams().width; 返回我-2和-1 我想要解决scheme以编程方式获得任何布局的高度和宽度?

如何将linearlayoutalignment到垂直中心?

我正在alignmentlinearlayout的垂直中心,它显示下面的图片(skycolor border),以删除button的垂直中心。 所以我把id:groupNumbers的重力设置为center_vertical。 但没有改变。 如何将id:groupNumbersalignmentbutton的中心? <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/groupNumbers" android:orientation="horizontal" android:gravity="center_vertical" android:layout_weight="0.7" android:layout_width="wrap_content" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/txtSelected01" android:text="00" android:textSize="30dp" android:gravity="center_horizontal" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/txtSelected02" android:text="00" android:textSize="30dp" android:gravity="center_horizontal" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content"/> </LinearLayout> </LinearLayout> <Button android:id="@+id/btn_deleteNum" android:text="Delete" android:textSize="20dp" android:layout_weight="0.2" android:layout_width="wrap_content" […]

ImageView缩放types“centerCrop”等效于位图可绘制的重力

我已经创build了一个标题图像的活动。 此标题图像最初是在Scale的设置为centerCrop的情况下使用ImageView在Activity的布局xml中创build的。 这就是我想要的,它使图像居中,在纵向模式下左右剪切,全部以横向模式显示。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="30dp" android:paddingBottom="6dp" android:paddingLeft="6dp" android:paddingRight="6dp" android:background="#919EAC" android:orientation="vertical" > <ImageView android:id="@+id/header_image" android:layout_width="match_parent" android:layout_height="120dp" android:contentDescription="@string/header_description" android:scaleType="centerCrop" android:src="@drawable/header" /> …. <other views> … 我想用可绘制的背景replace它,这样我可以使用标题图像空间来显示数据,并且可以节省我在不同的活动中重复相同的布局。 为此,我创build了一个可以在android:background属性中引用的drawable: <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <solid android:color="#919EAC" /> </shape> </item> <item> <bitmap android:antialias="true" android:gravity="top|center_horizontal" android:src="@drawable/header" /> </item> </layer-list> 这个drawable定义了彩色背景,否则布局将定义它,并定义一个标题图像,否则将作为一个ImageView包含在布局中。 不过,现在我的形象是缩放的,而我希望它被裁剪。 检查Android文档我尝试了其他重力模式,如 android:gravity="top|clip_horizontal" 但它似乎仍然显示/缩放不同于图像视图。 什么是背景可绘制的正确定义?

Android:2个相对布局划分为一半的屏幕

我多次尝试绘制2个水平alignment的相对布局,并分成两半。 我用油漆devise图像来解释我的意思。 任何build议?

在片段视图之间切换

在xml布局文件中声明片段的标准方法是 <LinearLayout …> <fragment class="com.example.SomeFragment" </LinearLayout> SomeFragment是一个类定义的java类 class SomeFragment extends Fragment { … } 可以说,我有3个片段; 片段1,片段2和片段3。 当用户启动应用程序时,我向他们展示了片段1,当他们点击button时,我用片段2replace了片段1等。 在单个布局xml文件中定义3个片段的最佳方法是什么?

Android布局:父宽的一半

我有一个非常简单的布局,我不能让它看起来像我想要的。 这是一个带有button和开关的LinearLayout。 我希望他们展示一个在另一个之上,但我希望他们的宽度是父布局的一半。 |–LinearLayout———| | | | ———– | || Switch | | | ———– | | ———– | || button | | | ———– | ———————— 我一直在寻找其他类似的答案,但我找不到适合我的解决scheme。 这是我迄今为止所尝试的: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:weightSum="2" > <Switch android:id="@+id/remember_me_switch" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:hint="@string/remember" /> <Button android:id="@+id/share_button" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:onClick="loginOnclick" android:text="@string/login_button_text" /> </LinearLayout> 这样,button和开关就占据了父母的所有空间,而不是只占一半。 我已经在孩子们尝试使用android:layout_width = 0dp […]

将ProgressBar水平alignment(删除空白)

我正在尝试在框架顶部放置一个水平进度条。 但似乎有填充,我简直无法删除。 任何帮助? <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar android:id="@+id/flv_progress_bar" android:layout_width="fill_parent" style="@android:style/Widget.Holo.ProgressBar.Horizontal" android:indeterminateOnly="true" android:layout_height="wrap_content" android:layout_gravity="top"/> </FrameLayout>

android有可能在一个ScrollView中放置一个约束布局

所以最近,在android studio 2.2中有一个新的约束布局,使得devise变得更容易,但是与RelativeLayout和Linearlayout不同,我不能使用ScrollView来包围ConstraintLayot 。 可能吗? 如果是的话,怎么样? 即 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <android.support.constraint.ConstraintLayout android:id="@+id/constraintLayout2" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <!– have whatever children you want inside –> </android.support.constraint.ConstraintLayout> </ScrollView>

Android如何设置百分比填充/保证金,所以EditText在两边都有10%的保证金?

Android支持%或有一种方法来近似。 我有两种截然不同的屏幕尺寸,但是按百分比计算,我希望活动中的EditBox对屏幕尺寸和屏幕尺寸的比例具有相同的边距。 如何才能做到这一点。

为什么datepicker在我的视图中添加一个日历?

我开始学习如何在Android上开发。 这是非常简单的,但我面临一个问题,我没有发现任何地方提到… 我有一个看法: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="16dp" android:paddingRight="16dp" android:orientation="vertical"> <EditText android:id="@+id/editNomProduit" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ems="10" android:hint="@string/ht_nom_produit" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="16dp" android:paddingRight="16dp" android:orientation="horizontal"> <TextView android:id="@+id/labelQuantiteProduitEdit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/labelQuantiteProduitEdit" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/editQuantite" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="number" /> <Spinner android:id="@+id/spinnerUnite" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="16dp" android:paddingRight="16dp" android:orientation="horizontal"> <TextView android:id="@+id/labeDateAchatProduitEdit" android:layout_width="wrap_content" […]