我有一个日期/时间选择器,我希望他们根据其布局做出反应。
考虑横向模式:
这是我想要的完美位置。但是,如果我把它转到肖像模式,我会得到类似下面的内容:部分时间丢失了。
我目前的代码是:
bool isInCircle(int x, int y) {
if (circleRadius >= getPointDistance(x, y)) {
//it's inside the circle (we assumed on the edge is inside)
return true;
} else {
//given point is outside of the circle
return false;
}
}
将内部LinearLayout的方向更改为Vertical将实现我想要的纵向模式,但它在横向模式下会混乱,反之亦然。
另一种方法是什么?是否可以在屏幕模式转换时以编程方式更改布局的方向?
答案 0 :(得分:5)
当屏幕方向改变而不是再次重新创建活动时,请执行以下操作:
int orientation = this.getResources().getConfiguration().orientation;
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
//code for portrait mode
} else {
//code for landscape mode
}
快乐的编码!!
答案 1 :(得分:0)
您可以创建包含屏幕横向布局的 layout-land 目录。在这种情况下,您可以将原始布局放在 layout-land 目录中,并将orientation:vertical
布局放在布局文件夹中。
The Android documentation has information on how to support different screens