Android 如何在Java代码中设置EditText的位置
如何设置EditText的位置或边界?我想通过我的Java代码来完成,而不是在XML(布局)文件中。有没有办法设置位置?我通常是GUI方面的专家,但这以前从未出现过,因此欢迎使用任何解决方案。在Android中,您不能像setViewPos(x,y)那样明确设置视图的位置 你知道android布局/视图系统是如何工作的吗?如果您可以在XML中实现您想要做的事情,那么只需查看和查看setter方法与您正在使用的XML属性相对应的内容 如果您的视图已经存在于XML中,并且您希望在运行时对其进行处理,那么您需要引用它。在一般情况下,您处于活动中,并且正在修改当前布局中的视图:Android 如何在Java代码中设置EditText的位置,android,user-interface,Android,User Interface,如何设置EditText的位置或边界?我想通过我的Java代码来完成,而不是在XML(布局)文件中。有没有办法设置位置?我通常是GUI方面的专家,但这以前从未出现过,因此欢迎使用任何解决方案。在Android中,您不能像setViewPos(x,y)那样明确设置视图的位置 你知道android布局/视图系统是如何工作的吗?如果您可以在XML中实现您想要做的事情,那么只需查看和查看setter方法与您正在使用的XML属性相对应的内容 如果您的视图已经存在于XML中,并且您希望在运行时对其进行处理,
EditText yourView = (EditText)this.findViewById(R.id.your_view);
//set attributes
//you'll crash if you haven't this.setContentView(view's parent layout)
否则:
LayoutInflater inflater = context.getLayoutInflater();
View tmp = inflater.inflate(R.layout.your_layout, null , true);
EditText yourView = (EditText)tmp.findViewById(R.id.your_view);
//set attrinutes
或者,如果您从头开始创建视图,只需创建一个实例并将其添加到布局中:
EditText et= new EditTExt();
//set attributes
LinearLayout parent = (LinearLayout) this.findViewById(R.id.layout_id);
parent.addView(et)
但是,如果您也不知道如何在XML中定位它,那么您必须沿着教程的小巷走一走,以找到适合您的情况的技术
AbsoluteLayout将是一个快速解决方案,但我不建议这样做,因为当你在不同屏幕大小和分辨率的手机上尝试应用程序时,你会得到一些糟糕的结果
重力和重量没有那么强大,但它们与屏幕大小没有紧密联系
如果您试图根据周围的视图放置视图,那么一定要使用
相对论
希望这有帮助 谢谢你的帮助,我知道我可以用XML来做,但我想我肯定也可以用Android来做,但我不确定怎么做,我想我会用XML重新做布局,然后从那里修复它。谢谢