我目前的用例是在自定义视图中为3个以上的按钮充气。我想构建一个自定义视图,它取宽度并破译如何显示3+按钮。如果按钮在一个水平排列中不适合其上的文本,则按钮将一个接一个地垂直放置。所以要努力,我知道我需要通过onMeasure传递。我应该在onMeasure上为每个按钮充气还是应该在构造函数CustomButtonBarView之后给它充气?
所以我想要遵循的架构有点像
public CustomButtonBarView extends ViewGroup
{
public CustomButtonBarView( Context context )
{
//initialize variables
}
public void onMeasure()
{
// inflate all the buttons more than 3
// measure each button width, then see if it can be fitted in one
// line and then move forward
}
}
所以我的问题是我应该在哪里给那些3+按钮充气?我不能把它们放在XML中,因为确切的数字是不同的
<CustomButtonBarView>
<Button/>
<Button/> <!-- NO idea how many -->
</CustomButtonBarView>
谢谢,任何帮助或指示,或者即使您觉得我的方向不正确,也请随时告诉我。我愿意接受改变。
答案 0 :(得分:0)
将按钮放在网格视图中可能会有所帮助。在那里你可以强制按钮跟随网格。操作系统将处理按钮的宽度,因此您可能需要测量它们。