Articles of android layout

getMeasuredWidth返回完全错误的值

我必须测量一个View间隔其他人。 我使用这个代码: ViewGroup view = …; view.setPadding(10, 0, 10, 0); int wrapContent = RelativeLayout.LayoutParams.WRAP_CONTENT; int specWidth = MeasureSpec.makeMeasureSpec(wrapContent, MeasureSpec.AT_MOST); view.measure(specWidth, specWidth); int questionWidth = view.getMeasuredWidth(); 这在Android 4.3模拟器上按预期工作。 然而,三星Galaxy XCover 2(S7710)Android 4.1.2手机返回的测量宽度是16777214 …我尝试了一切,用View.MEASURED_SIZE_MASK屏蔽,但没有任何帮助。 你能提供一些帮助吗? 提前致谢!

以编程方式从Appcompat 22.2.0更改浮动操作button的颜色

我想知道如何从支持库22.2.0更改浮动操作button的颜色? 我试过了 button.setBackgroundColor(color); 但显然,这改变了button的可绘制,它变成了一个方形。 现在我想知道如何改变颜色,但只是颜色,而不触摸形状? 提前致谢

在dynamic添加视图后WRAP_CONTENT不起作用

我试图创build一个片段,dynamic地列出一系列自定义视图。 这个布局的主要内容是一个嵌套在LinearLayout中的RelativeLayout(水平居中),嵌套在一个ScrollView中。 RelativeLayout有几个TextViews和一个9补丁ImageView,它是用dynamic添加的自定义视图来扩展的。 但是,图像(achievement_bgImageView下面)以屏幕大小结束,即使在添加了适当数量的自定义视图之后,也不会考虑其父级RelativeLayout的大小。 当我手动设置achievement_mainLayout(请参阅下面的注释行)的大小时,图像可以很好地缩放,但是如果我尝试让RelativeLayout的wrap_content处理自己的大小,则什么也不做。 ScrollView是尊重RelativeLayout的大小,因为所有的内容都存在,它只是imageView不伸缩,以匹配内容在这一点上。 任何帮助将不胜感激…我的手动计算似乎不足以说明不同的设备,尽pipe事实上我是屏幕密度的帐户,我手动强制RelativeLayout一个固定的宽度。 值得注意的是,RelativeLayout的测量尺寸总是等于屏幕的高度,而不pipe其内容的总和是大于还是小于该高度。 所以,从根本上说,WRAP_CONTENT根本就没有做它应该做的事情。 我没有任何引用RelativeLayout的任何边缘,所以循环依赖不应该是一个问题。 fragment_achievements.xml <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"> <RelativeLayout android:layout_width="320dp" android:layout_height="wrap_content" android:id="@+id/achievements_mainLayout"> <ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/achievements_bgImageView" android:src="@drawable/bkg_achievements9" android:adjustViewBounds="true" android:layout_marginLeft="8dp" android:layout_marginTop="8dp" android:layout_marginRight="8dp" android:layout_centerHorizontal="true" android:scaleType="fitXY"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Name Field" android:id="@+id/achievements_nameTextView" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_marginLeft="28dp" android:layout_marginTop="30dp"/> <ImageView android:layout_width="52dp" android:layout_height="52dp" android:id="@+id/achievements_avatarImageView" android:layout_below="@+id/achievements_nameTextView" […]

Android资源限定符-sw#dp vs -w#dp

假设我正在为屏幕尺寸等于或大于600dp的设备开发不同的布局。 我想使用后的Android 3.2资源限定符。 我创build了一个名为layout-sw600dp的文件夹,并在那里放置了我的布局,但是同时我可以创build一个名为layout-w600dp的文件夹,并在其中放置布局xml文件。 我想弄清楚-sw600dp和-w600dp什么-w600dp ? 毕竟他们都打算使用宽度> = 600dp的设备的布局。

Android – 使用纯Java创build应用程序而不使用XML?

我想知道是否有可能创build一个只有Java的Android应用程序。 没有XML,没有其他的东西。 在Eclipse中,当我创build一个新的Android项目时,自动生成Manifest xml文件和主布局xml文件。 我可以删除这些文件并将其replace为Java文件吗?

只有键盘编号的EditText视图

我只想要一个带有可见数字的键盘到EditText视图。 没有任何其他字符。 我已经testing过所有可用的input,不工作。 我已经search了一种方式来获得键盘只有数字,但我只看到参考: android: inputType = "numberPassword" 但是我想在EditText中看到可见的数字。 有人可以帮助我吗? 我想要一个这样的键盘:(numberPassword) 我曾尝试过: android:digits="0123456789" android:inputType="phone" 和 android:inputType="number" 看起来像这样:

Android:使用现有布局的自定义视图的多个视图子项

我必须在Android中构build更复杂的自定义视图。 最终的布局应该是这样的: <RelativeLayout> <SomeView /> <SomeOtherView /> <!– maybe more layout stuff here later –> <LinearLayout> <!– the children –> </LinearLayout> </RelativeLayout> 然而,在XML文件中,我只是想定义这个(不定义SomeView,SomeOtherView等): <MyCustomView> <!– the children –> </MyCustomView> 这是可能的Android,如果是的话:什么是最干净的方式来做到这一点? 我想到的可能的解决scheme是“覆盖addView()方法”和“删除所有视图,并在以后再次添加”,但我不确定要走哪条路… 提前感谢您的帮助! 🙂

菜单选项卡不响应

目前我正在为我的应用程序制作UI。 我使用滑动面板和滑动选项卡 (教程与实施说明)function。 两者都很好。 我甚至设法在一个项目中实现它们,但这就是问题出现的地方 – 当我触摸它们(应该打开它所代表的页面)时,Home和Event的选项卡没有反应,但是当它们在标签之间滑动时,它们会改变。 这是我的布局代码。 这是问题所在。 我敢肯定。 <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:orientation="vertical" tools:context=".MainActivity"> <include android:id="@+id/tool_bar" layout="@layout/tool_bar" android:layout_height="wrap_content" android:layout_width="match_parent" /> <com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto" android:id="@+id/sliding_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom" sothree:umanoPanelHeight="68dp" sothree:umanoShadowHeight="4dp" sothree:umanoParalaxOffset="100dp" sothree:umanoDragView="@+id/dragView"> <!– MAIN CONTENT –> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#ff0000"> <com.ui.test.SlidingTabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/ColorPrimary"/> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1"> </android.support.v4.view.ViewPager> </RelativeLayout> <!– […]

如何获得AttributeSet属性

假设我有一个扩展ViewGroup的类 public class MapView extends ViewGroup 它包含在这样的布局map_controls.xml <com.xxx.map.MapView android:id="@+id/map" android:background="@drawable/address" android:layout_width="fill_parent" android:layout_height="fill_parent"> </com.xxx.map.MapView> 我如何从AttributeSet的构造函数中检索属性? 让我们说背景字段中的drawable。 public MapView(Context context, AttributeSet attrs) { }

Android浮动操作buttonAPI 19(KitKat)

我需要实现一个浮动操作button,根据谷歌devise指南 ,在我的android应用程序与API级别19。 但是,我会知道是否有一些本机支持库(如v4,v7,v13)帮助我构build这个组件,而不需要外部依赖。