我有一个垂直方向的LinearLayout
,我试图向它添加三个子视图。一个视图是一个小的,50px高的视图,只在其中绘制一个框,第二个视图是单选按钮的水平列表,第三个视图是一个图表。
如果我最后添加图形,所有的内容都适合屏幕,但如果我首先添加图形,它将所有内容推离屏幕,它成为屏幕上唯一的视图。图是我的一个自定义控件,它希望尽可能大(它的onmeasure
函数只返回提供的宽度和高度),我认为这就是问题所在。但我想保持它尽可能大,并有布局适合视图,无论他们的顺序添加。
这可能吗?如果是,我该如何完成?最后,我试图将图形放在上面,其他两个控件放在下面,但是如果我先添加图形,它会消耗整个屏幕。
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(new MovingBox(this));
RadioGroup radioGroup = new RadioGroup(this);
radioGroup.setOrientation(RadioGroup.HORIZONTAL);
radioGroup.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
RadioButton button = new RadioButton(this);
button.setText("Light");
button.setLayoutParams(new RadioGroup.LayoutParams(RadioGroup.LayoutParams.MATCH_PARENT, RadioGroup.LayoutParams.WRAP_CONTENT, 1));
radioGroup.addView(button);
button = new RadioButton(this);
button.setText("Dark");
button.setLayoutParams(new RadioGroup.LayoutParams(RadioGroup.LayoutParams.MATCH_PARENT, RadioGroup.LayoutParams.WRAP_CONTENT, 1));
radioGroup.addView(button);
button = new RadioButton(this);
button.setText("Colorful");
button.setLayoutParams(new RadioGroup.LayoutParams(RadioGroup.LayoutParams.MATCH_PARENT, RadioGroup.LayoutParams.WRAP_CONTENT, 1));
radioGroup.addView(button);
layout.addView(radioGroup);
// If I move these next to lines just below layout.setOrientation(...) it becomes the only thing visible
TweenerControl tw = new TweenerControl(this);
layout.addView(tw);
setContentView(layout);
}
}
首先添加图形:(只有图形可见)
我在这方面做了更多的工作,我提出的解决方案是不使用LinearLayout
,而是使用RelativeLayout
。RelativeLayout
试图定位和调整事物的大小,以便它们适当地适合,而LinearLayout
只获取事物的大小并按自上而下的顺序排列,其中LinearLayout
中较高的项与LinearLayout
中较低项的大小无关。
英文原文:http://emberjs.com/guides/views/adding-layouts-to-views/ 视图可以拥有一个次模板来包裹其主模板。如同模板一样,布局是可以插入到视图标签下的Handlebars模板。 通过设置layoutName属性来配置视图的布局模板。 而布局模板通过Handlebars的{{yield}}助手来指定在哪里插入主模板。视图渲染后的template的
我有一个嵌套的布局,如下所示: 我现在遇到的问题是,由于我所有的数据项都在子1或子2中,如果我添加或删除一个项,子Linearlayout将以animateLayoutChanges的效果设置动画,但父布局将不做任何动画。(对于所有线性布局,我将设置为)。尤其是当我删除子1中的一个项目时,动画效果会变得奇怪(基本上,当子1仍在制作动画时,子2会跳起来)。 有人知道怎么解决这个问题吗? 谢谢 更新
在此处输入图像描述 我有一份父母名单,每个人都有零个或多个孩子,我用回收视图给父母看。我想向家长展示每个回收人员视图项目的标题,下面是向所有孩子展示向孩子展示的最好方式是什么?是否适合在列表视图中显示孩子,或者为每个孩子添加动态视图,如果是的话,如何做到这一点?我已经附上了布局的图像,请检查我的意思,谢谢 在此处输入图像描述
我有一个全屏活动,其中某些布局元素隐藏起来,让位于容器内的一个片段(FrameLayout)。布局如下所示: 片段布局如下所示: 如您所见,在我的片段布局中,我包含了另一个名为input_view的布局。其布局文件如下所示: 这是从以下来源获得的幻灯片面板:https://github.com/mancj/SlideUp-Android,它主要是一个编辑文本视图,在回收器视图项目的单击事件上向上滑
在一个GUI程序里,布局是一个很重要的方面。布局就是如何管理应用中的元素和窗口。有两种方式可以搞定:绝对定位和PyQt5的layout类 绝对定位 每个程序都是以像素为单位区分元素的位置,衡量元素的大小。所以我们完全可以使用绝对定位搞定每个元素和窗口的位置。但是这也有局限性: 元素不会随着我们更改窗口的位置和大小而变化。 不能适用于不同的平台和不同分辨率的显示器 更改应用字体大小会破坏布局 如果我
在一个 GUI 程序里,布局是一个很重要的方面。布局就是如何管理应用中的元素和窗口。有两种方式可以搞定:绝对定位和 PyQt5 的 layout 类 绝对定位 每个程序都是以像素为单位区分元素的位置,衡量元素的大小。所以我们完全可以使用绝对定位搞定每个元素和窗口的位置。但是这也有局限性: 元素不会随着我们更改窗口的位置和大小而变化。 不能适用于不同的平台和不同分辨率的显示器 更改应用字体大小会破坏