我总是面临这个问题,我觉得我设计得不好。
如果我想显示一个活动(活动的设置类型),我的用户可以在其中输入名称、选择一个项目并检查一个切换项目。如下我想对齐EditText,微调器和按钮,它们占据屏幕的右半部分,文本占据左侧。我是否使用
带有权重的嵌套线性布局(我似乎从来没有做对)
相对布局,我对齐事物并在父属性中使用中心以从半屏开始(即使对于我不会在代码中使用的标签,在 XML 文件中定义了太多的 ID)
表格布局
你推荐哪一个?或者如何?
我总是面临这个问题,我觉得我设计得不好。
如果我想显示一个活动(活动的设置类型),我的用户可以在其中输入名称、选择一个项目并检查一个切换项目。如下我想对齐EditText,微调器和按钮,它们占据屏幕的右半部分,文本占据左侧。我是否使用
带有权重的嵌套线性布局(我似乎从来没有做对)
相对布局,我对齐事物并在父属性中使用中心以从半屏开始(即使对于我不会在代码中使用的标签,在 XML 文件中定义了太多的 ID)
表格布局
你推荐哪一个?或者如何?
为了完美对齐,我认为 TableLayout 是您的最佳选择。您可以使用其他两个选项来执行此操作。但是如果左侧的文本长度发生变化,那么您可能需要更改 xml 布局。但是通过使用 tableLayout 会更容易管理。
从您上面提供的图像中,您似乎在左侧有 TextDetails,在右侧有 View,因此右视图必须从 centerVertical 开始。这样对吗??
我建议您使用TableLayout
...添加您的观点,如上所述..
您可以设置宽度硬编码,以便它们始终像这样保持不变..
float screenWidth = ((Activity) context).getWindowManager()
.getDefaultDisplay().getWidth();
然后您的视图 TextDetails 和视图的添加setWidth(screenWidth / 2);
我认为您需要抛出 Android设计模式。有一些关于如何更好地做到这一点的提示。在我看来 - 只需使用 LinearLayout 并使用它们的重力/边距/填充进行操作。或者像谷歌推荐的那样使用RelativeLayout。
最好的祝愿。