Articles of 布局

将视图添加到ViewGroup时,可以跳过onMeasure?

回答 我有一个RelativeLayout,在用户垂直或水平滚动时dynamic添加视图。 我已经推出了自己的ViewRecycler,因为可能有成千上万的视图可以组成整个可以滚动的视图,但是我只能在任何时候显示30个左右。 想象一个放大的日历视图。 当我添加即将看到的视图时,我遇到了性能问题,在RelativeLayout级联到onMeasure上调用onMeasure,并在其所有子视图上调用onMeasure。 我已经有了RelativeLayout有多大的计算大小,并且已经在LayoutParameters上设置了它,所以不需要测量ViewGroup,也不需要重新测量已经添加了最终大小和新增的视图增加的观点对这些观点没有影响。 演示这个问题的简单例子是添加/删除一个View到一个RelativeLayout,并观察onMeasure被调用,尽pipe它不影响RelativeLayout的大小或其他视图的位置。 main.xml中 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/shell" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content"> </LinearLayout> MyActivity.java public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ViewGroup shell = (ViewGroup) findViewById(R.id.shell); final RelativeLayout container = new RelativeLayout(this) { @Override protected void onMeasure(int widthMeasureSpec, int […]

Android中的onMeasure返回大小,包括填充和边距?

我正在处理一个自定义组件,并想知道onMeasure是否会调用子对象返回的宽度和高度,包括填充和边距。

如何使用android:layout属性实例化自定义首选项的布局

我可以通过android:layout属性设置适当的布局。 举一个例子 <Preference android:key="friction" android:title="@string/friction" android:layout="@layout/friction_fragment" android:shouldDisableView="true" android:defaultValue="30" android:enabled="true" android:selectable="true" android:summary="Bite friction"></Preference> 布局在哪里 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:text="@string/friction" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"></TextView> <SeekBar android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/sbFriction"></SeekBar> <TextView android:text="@string/friction_little" android:id="@+id/txtSummary" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <Button android:text="Button" android:id="@+id/btnFriction" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> </LinearLayout> 我可以在PreferenceActivity中的OnCreate中获取视图 Preference fric = (Preference)this.findPreference("friction"); View v = fric.getView(null, null); SeekBar sbFriction […]

wrap_content高度,但仅限于父级的一半

我想要的是有垂直排列的2个视图的布局。 我们称之为顶视图A和底视图B.我希望给B的高度是它的正常高度(即包装内容),除了我不希望它被给予超过一半的可用空间。 A得到剩下的东西 另一种说法是A应该至less有50%的可用高度,B应该至less有50%。 我似乎无法find一个简单的方法来实现这一目标。 我可以将两个布局高度设置为0,并赋予它们相同的权重,这使得它们总是50%,但是如果B小于50%,它应该只给出它所需要的。 唯一的办法,我可以看到这样做是使用A或B的自定义类,并重写onMeasure约束的高度为家长的50%,但似乎应该有一个更简单的方法。

Android:如何有这种types的时间select器?

我正在开发一个应用程序,我想显示时间select器设置提醒的时间。 现在我可以使用像这样的首选项来显示时间select器 <org.example.android.TimePreference android:defaultValue="12:00" android:key="check_time" android:summary="Set your desired time for check" android:title="Check time" /> TimePreference.java文件从PreferenceScreen链接中的TimePickerinheritance。 但我想显示这个button点击特定的活动,并在EditText或TextView设置它的值。 我不想使用偏好。 所以,我想使这个屏幕的布局像下面的图像。 任何想法和build议将不胜感激 感谢和问候

像径向菜单的布局

我必须devise这样的事情,并为每个块添加点击事件,我应该怎么做。可以任何人指导我这一点

如何将圆angular添加到绘图我在Android中用作背景?

我有一个特定的drawable,我在我的应用程序中使用背景。 这不是一个纯色。 现在我想为这个drawable添加圆angular。 我只find了一个渐变或纯色作为背景的形状,但没有另一个可绘制的圆angular。 有没有另一个简单的方法来添加一个可绘制的圆angular?

多线TextView上的wrap_content宽度

我有一个TextView的宽度和高度都设置为wrap_content和max_lines设置为2.当文本适合一行,一切正常。 但是,当它包装到第二行,TextView的宽度变得尽可能大(它填充父容器)。 所以,我想要什么: |一些长| |文本| 而我得到: |一些长| |文本|

点击里面的布局redirect到另一个布局

我有布局显示的问题和选项,如果我点击其他地方比button我redirect到默认布局。 我想知道为什么会发生这种情况。 我的课 package com.example.demo; public class MainActivity extends Activity implements OnClickListener { DBHelper helper; SQLiteDatabase db; Button btnBegin,btnnext,btnredirect; int count = 0; int response = 0; View previouslySelectedItem = null; //Sub category Buttons Button btnaptitude5,btnaptitude4,btnaptitude3,btnaptitude2,btnaptitude1; String Question_ID,Title,TitleDescription,QuestionText,QuestionTemplate,QuestionImage; //String SubModuleQuestion_ID; TextView tvTitle,tvInstructions,tvQuestionText; RadioGroup rgtemplate4images; ImageView img; RelativeLayout aptitudesubcateg,temp4optimage, redirecttemplate; ListView listviewoptions; protected void onCreate(Bundle savedInstanceState) […]

什么时候android首先做布局?

我需要根据我的Activity中的小部件和视图的初始布局来准备一些对象。 我想在初始化步骤,理想的onCreate和onStart。 考虑到当我们不在前台时发生变化的可能性,其中一些可能需要在onResume中发生。 所以我检查一下,我是否可以衡量我的意见是如何制定的。 Log.d("MyApp", "w,h of X is " + findViewById(R.id.X).getWidth() + "," + findViewById(R.id.X).getHeight()); 我在onCreate,onStart和onResume中运行了这个。 每次我得到0,0的宽度,高度。 如果我等待onTouchEvent,我得到布局信息,所以布局完成。 我感到惊讶的是,在我看到onResume的时候,布局并没有设置和最终。 我预计这些小工具已经布置好了,并准备好了。