任何人都可以将我的xml转换为android中的代码吗?
我想以编程方式创建一个具有相同位置,关系,高度和宽度的新按钮,就像我在这里附加的xml一样。我在stackoverflow中读到了一些问题,但我不明白。我的英语不好。谢谢。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginLeft="27dp"
android:layout_marginTop="25dp"
android:layout_toLeftOf="@+id/textView1"
android:text="Button" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="New Buttons" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:layout_toRightOf="@+id/textView1"
android:text="Button" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="30dp"
android:layout_toLeftOf="@+id/textView1"
android:text="Button" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button3"
android:layout_alignBottom="@+id/button3"
android:layout_alignRight="@+id/button2"
android:layout_toRightOf="@+id/textView1"
android:text="Button" />
答案 0 :(得分:0)
是的,您可以使用LayoutParams进行参考,请通过以下链接:http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
android对于布局的进一步理解我更喜欢你阅读这篇博客: http://blog.vogella.com/2011/03/14/android-hacking-layouts/
Layoutparams上的示例代码:
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// creating LinearLayout
LinearLayout linLayout = new LinearLayout(this);
// specifying vertical orientation
linLayout.setOrientation(LinearLayout.VERTICAL);
// creating LayoutParams
LayoutParams linLayoutParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
// set LinearLayout as a root element of the screen
setContentView(linLayout, linLayoutParam);
LayoutParams lpView = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
TextView tv = new TextView(this);
tv.setText("TextView");
tv.setLayoutParams(lpView);
linLayout.addView(tv);
Button btn = new Button(this);
btn.setText("Button");
linLayout.addView(btn, lpView);
LinearLayout.LayoutParams leftMarginParams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
leftMarginParams.leftMargin = 50;
Button btn1 = new Button(this);
btn1.setText("Button1");
linLayout.addView(btn1, leftMarginParams);
LinearLayout.LayoutParams rightGravityParams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
rightGravityParams.gravity = Gravity.RIGHT;
Button btn2 = new Button(this);
btn2.setText("Button2");
linLayout.addView(btn2, rightGravityParams);
}
}
答案 1 :(得分:0)
您可以使用在线服务在this question
为您执行此操作来自网站:
什么是Android XML到JAVA?
您是否想在不使用任何XML代码的情况下设计Android应用的UI?在为某些Android应用程序设计动态UI时,您是否想让您的生活更轻松?您是否希望节省开发应用程序的时间,而不是花费大部分时间来设计UI? Android XML2Java已经结束了。此服务提供Android XML代码(标记和属性)到等效Android Java方法的自动转换。您只需要一些XML代码就可以了。
或者你可以手动完成。浏览XML2Java上的API文档以及有关如何使用Android Developers Reference等API的一些教程。