2010-06-24 111 views
1

我正在创建一个Action Bar,就像从新的Android UI模式中创建一个操作栏一样,我遇到了一些麻烦。我有一个ViewSwitcher其中有两个布局。当用户点击搜索按钮时,我在两个布局之间生成动画。问题是,布局是不同的大小,我不知道如何使他们占用相同数量的空间。这是我的意思。附:原谅坏的艺术,他们只是占位;)实现Android操作栏

红色框是正对着该ViewSwitcher且存在与此布局的操作栏之间的差距:

Gap

但没有这一条:

No Gap

我想是想告诉在ViewSwitcher布局是相同的尺寸。我怎样才能做到这一点?

回答

0

您可以尝试将较小的android:minHeight设置为大一点的高度。或者可以将其设置在ViewSwitcher本身上。


理念:

ViewSwitcher只允许你添加两个View S和你的情况下,他们是两个ViewGroup秒。您可以在要添加到ViewSwitcher的每个视图上致电View#measure。它看起来像你应该使用ViewGroup.LayoutParams.WRAP_CONTENTmeasure的每个参数。然后,您可以在每个视图上拨打View.getMeasuredHeight。更大的设置使用View#setMinHeight更小的视图。

+0

我现在面临的问题是,我不知道这个大个子有多大。这取决于'EditText'的大小。我在三款不同的手机上看到了三种不同的尺寸。 :( – CaseyB 2010-06-25 04:22:09

+0

我会尝试一下你的新建议,但是它的代码很多,我希望能够保留在xml中。 – CaseyB 2010-07-06 15:02:41

+0

你可以在viewSwitcher上使用android:measureAllChildren =“false”吗?http:// stackoverflow .COM /问题/ 5466537 /如何对GET-viewswitcher到总结只有最当前显示的视高 – topwik 2012-08-24 19:43:30