我是Android编程的新手。我在活动中遇到布局问题。我的菜单显示如下:
我直接通过源代码完成了所有布局工作:
enterNameTxt.setText("Enter User Name");
enterNameTxt.setY(200);
enterNameTxt.setX(-600);
userNameTxt.setY(300);
userNameTxt.setX(100);
userNameTxt.setWidth(200);
enterSpeedTxt.setText("Enter Speed");
enterSpeedTxt.setX(-500);
enterSpeedTxt.setY(100);
userSpeedTxt.setX(-400);
userSpeedTxt.setY(700);
userSpeedTxt.setWidth(200);
configButton.setWidth(400);
configButton.setText("Back to Game");
configButton.setY(1000);
正如您所见,速度选项甚至没有显示在屏幕上。我继续玩setX,setY,setWidth选项,但它一直变得混乱。
直接通过源代码进行布局是不对的?
我有两个活动,但只有一个布局xml文件。我应该在res / layout部分为菜单活动创建另一个xml文件吗?
我只是不明白何时使用源代码以及何时应该使用布局......
提前致谢
答案 0 :(得分:0)
直接通过源代码进行布局是错误的吗?
不,不是。但强烈建议您使用xml
布局,因为它可以直观地显示您在运行之前尝试的内容。
我有两个活动,但只有一个布局xml文件。我应该在res / layout部分为菜单活动创建另一个xml文件吗?
是。您必须为应用中的每个活动创建一个xml文件。
我只是不明白何时使用源代码以及何时应该使用布局......
您应该尽可能多地使用xml
。只有在运行时必须更改布局属性时,才应使用Java代码。例如,使用数据库或Web服务中的文本填充ListView
。
答案 1 :(得分:0)
在java文件中使用此代码
公共类MainActivity扩展了Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.rl);
LinearLayout ll = new LinearLayout(this);
LinearLayout.LayoutParams layout_params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
LinearLayout.LayoutParams box_params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 40);
LinearLayout.LayoutParams btn_params = new LinearLayout.LayoutParams(120, 40);
ll.setOrientation(LinearLayout.VERTICAL);
EditText et1 = new EditText(MainActivity.this);
et1.setHint("Enter User name");
EditText et2 = new EditText(MainActivity.this);
et2.setHint("Enter speed");
Button btn= new Button(MainActivity.this);
btn.setText("Back to Game");
btn.setGravity(Gravity.CENTER_HORIZONTAL);
ll.addView(et1, box_params);
ll.addView(et2, box_params);
ll.addView(btn, btn_params);
ll.setGravity(Gravity.CENTER);
rl.addView(ll,layout_params );
}
}
您将获得所需的输出,但在您不需要在UI中进行动态更改之前,它更喜欢使用xml文件。使用xml文件很容易维护代码和设计屏幕,如果不需要大的动态更改,则应使用xml文件。通过Xml文件,您可以通过代码的图形表示检查不同分辨率的代码。您可以在布局文件夹中创建xml文件,并将其链接到您的活动。它很容易,省时,并为您提供更准确的设计...... :)请检查屏幕截图,以动态创建您所需的设计。
快乐编码!!!