Articles of 布局

有没有一个好的工具来做Android布局devise?

我已经尝试过DroidDraw和Eclipse布局编辑器,两者似乎都非常难以创build非简单布局以外的任何东西。 我发现自己回到了XML文件,以便能够操纵它。 有没有人find任何好的工具来devise实际的屏幕? 我不是在寻找一个模拟工具,而是一个创buildXML布局的实际工具。 更新: 2.3新的Eclipsedevise更好,但老实说,我认为这将是更进一步。 我不介意在必要的时候下降到XML,但似乎是时候在这个空间里找一些好的devise工具了。

如何使一个线性布局填充相关布局的剩余空间?

我有一个有三个线性布局的相关布局作为孩子。 最后一个有固定的高度,android:layout_alignParentBottom设置为“true”。 中间的一个在第一个下方的位置正好,而它的下方则与第三个重叠。 怎么了? 谢谢 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/category" android:layout_width="fill_parent" android:layout_height="50dp" android:layout_alignParentTop="true" android:orientation="horizontal" > <ImageView android:id="@+id/back_btn" android:layout_width="29dp" android:layout_height="34dp" android:layout_gravity="center_vertical" android:src="@drawable/red_arrow_left" /> <TextView android:id="@+id/cat_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:gravity="center" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/category" android:layout_marginTop="10dp" android:orientation="horizontal" > <ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/white" android:cacheColorHint="@android:color/white" /> <TextView android:id="@+id/android:empty" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/white" […]

如何将整型标签设置为xml布局文件中的一个小部件?

我有简单的布局,但我只能设置string标记。 如何设置整数标记? <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:tag="1" android:src="@drawable/image" /> UPDATE 我发现如何在xml布局中设置Integer标签。 我们需要在任何xml资源文件中指定一个整型variables。 这应该是这样的: RES /值/ value.xml: <?xml version="1.0" encoding="UTF-8"?> <resources> <integer name="int1">15</integer> <integer name="int2">1</integer> </resources> 现在我们可以自由使用“@ integer / int1”或“@ integer / int2”作为XML部件的标签,例如: <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:tag="@integer/int2" android:src="@drawable/image" /> 但是,在我的情况下,我喜欢以编程方式设置标签:)

在Android中获取屏幕高度

我怎样才能在Android中获得屏幕的可用高度? 我需要的高度减去状态栏/菜单栏或任何其他可能在屏幕上的装饰,我需要它适用于所有设备。 另外,我需要知道onCreate函数。 我知道这个问题已经被问过,但我已经尝试过他们的解决scheme,没有一个工作。 以下是我尝试过的一些事情: 我已经在API 7 – 17上testing了这个代码。不幸的是,在API 13上,水平和垂直底部都有额外的空间,API 10,8和7底部没有足够的空间。 (我没有testing过时的API): Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics metrics = new DisplayMetrics(); display.getMetrics(metrics); screenWidth = metrics.widthPixels; screenHeight = metrics.heightPixels; TypedValue tv = new TypedValue(); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) screenHeight -= TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics()); } int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) […]

Androiddevise支持TabLayout重叠的内容

我正在使用devise支持库中引入的新TabLayout。 我有这样的代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent"> <android.support.design.widget.CoordinatorLayout android:id="@+id/lines_coordinator" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:elevation="4dp"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.design.widget.CoordinatorLayout> </LinearLayout> 问题是,选项卡重叠片段显示的内容的顶部。 我怎样才能解决这个问题? 我在Github上的例子中使用TabLayout,所以我相信我的代码没有问题。 我已经有一个工具栏,因为我使用导航抽屉中的片段中的标签,所以我从AppBarLayout中删除它。

如何创build一个比屏幕更大的视图?

是否有可能创build一个比屏幕更大的视图? 我需要一个更宽的视图,然后设备的屏幕。 我在旋转animation中使用这个视图。 在旋转期间,在animation视图之前不在屏幕上的部分将变得可见。 有没有一种方法来实现与android框架的这种效果? 更新 我试图设置我的父母的布局比屏幕大得多,它正在工作。 这将使一些有点不舒服,但它可以工作。 接下来的问题是我的布局仍然在屏幕左侧开始。 我想不出一种方法来使布局自行扩展到屏幕的左侧和右侧。

minHeight做什么?

在附加的图像中,我希望button的列与图像的高度相匹配,但我也希望button列的高度最小。 它正确匹配图像的高度,但不尊重minHeight,并会按下button。 我正在设置button列的这些属性: <LinearLayout … android:layout_alignTop="@+id/image" android:layout_alignBottom="@+id/image" android:minHeight="150dp" >

Android – 获取视图的可见区域?

假设我有一个Android View被另一个View部分遮罩。 例如,假设遮蔽视图的中央有一个透明的矩形“窗口”,而且我的视图位于窗口下方,并且尺寸大于窗口的尺寸。 在这种情况下,视图的一些矩形部分将是可见的,其余部分被遮罩掩盖。 所以我的问题是,是否有任何直接的方法来检索可见区域的位置和尺寸, 而不必访问遮罩视图本身(所以不知道遮罩的“窗口”本身有多大)? 我试图调用getLocalVisibleRect() ,听起来很有希望,但似乎只返回视图的布局矩形,而不是实际可见的矩形。

select器不能处理布局和图像视图

我想使用select器的布局和图像视图..但它不适合我。 当我将图像视图更改为图像button或button时,它工作正常。 任何帮助将不胜感激..在此先感谢.. 这里是我用的xmls <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!– When selected, use grey –> <item android:state_pressed="true" android:drawable="@drawable/bg" /> <!–<item android:drawable="@drawable/bg" android:state_focused="true"/> When not selected, use white–> <item android:drawable="@drawable/bg_01" /> </selector> -> The layout xml : <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fill_parent"> <ImageButton android:layout_width="100dp" android:layout_height="50dp" android:text="layout tester" android:textColor="#000000" android:textStyle="bold" android:paddingTop="10dp" android:src="@drawable/testselector" android:layout_gravity="center_horizontal" /> […]

0dip layout_height或layouth_width有什么用?

我的意思是为什么有人要他们认为是0dip高度? 我已经看过这么多次了,肯定有某种把戏,但是我不明白。 <TextView android:gravity="top" android:textColor="#FFFF0000" android:textSize="20dip" android:text="TextView" android:layout_height="0dip" android:layout_width="fill_parent" android:id="@+id/contactName"></TextView> 为什么他们不使用例如wrap_content? 他们想要达到什么目的?