将xml转换为代码

时间:2015-07-22 06:14:38

标签: android xml

任何人都可以将我的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" />

2 个答案:

答案 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的一些教程。