android xml 嵌套太多层
2016-01-07 20:41:00 weixin_34236869 阅读数 30

Android 除了能够载入xml文件,显示布局外,也能够代码生成布局,并通过setContentView(View view)方法显示布局。单独的一层布局,如一个主布局加一个控件(如Button\imageView等)动态生成代码比較简单。以下仅仅给出演示样例代码:

package com.example.android_dongtaishengcheng;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
import android.widget.RelativeLayout.LayoutParams;

public class MainActivity extends Activity
{
    RelativeLayout relativeLayout = null;
    private Button button;
    
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
	super.onCreate(savedInstanceState);
	relativeLayout = new RelativeLayout(this);
	LayoutParams params = new LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
		RelativeLayout.LayoutParams.MATCH_PARENT);
	relativeLayout.setLayoutParams(params);
	relativeLayout.setBackgroundResource(R.color.back);
	setContentView(relativeLayout);
	
	button = new Button(this);
	LayoutParams params2 = new LayoutParams(300, 300);
	button.setLayoutParams(params2);
	params2.addRule(RelativeLayout.CENTER_IN_PARENT);
	button.setText("hello");
	relativeLayout.addView(button);
	button.setOnClickListener(new View.OnClickListener()
	{
	    
	    @Override
	    public void onClick(View v)
	    {
		// TODO Auto-generated method stub
		startActivity(new Intent(MainActivity.this,SecondActivity.class));
	    }
	});
    }
}
以下进入重点:多层嵌套布局的动态生成。

情景描写叙述:父布局是一个线性布局,其子布局按竖直方向排列。子布局的子布局也是一个线性布局,按水平方向排列。


事实上非常easy,关键点在于。怎样控制主布局的子布局换行显示。即实现Orientation = "vertical"。能够在子布局外在加一层布局,即以下的drawParent()方法,该方法用来生成父布局的直接子布局,drawView()方法用来生成直接子布局的子布局(该布局也是多层嵌套)。能够实现例如以下图效果:


贴出代码例如以下:

/**
 * 
 */
package com.example.android_dongtaishengcheng;
import android.R.integer;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.LinearLayout.LayoutParams;

/**
 * @author zhiyuan
 * 
 * 2014-5-29 上午10:44:44
 * 
 */
public class SecondActivity extends Activity
{
    LinearLayout layout = null;
    LinearLayout line2 = null;
    LinearLayout line3 = null;
    LinearLayout line4 = null;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
	// TODO Auto-generated method stub
	super.onCreate(savedInstanceState);
	layout = new LinearLayout(this);
	LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
	layout.setLayoutParams(params);
	layout.setOrientation(LinearLayout.VERTICAL);
	setContentView(layout);

	// layout.addView(drawView(this));
	line2 = (LinearLayout) drawParent(this);
	line3 = (LinearLayout) drawParent(this);
	line4 = (LinearLayout) drawParent(this);
	for (int i = 0; i < 2; i++)
	{
	    line2.addView(drawView(SecondActivity.this, i));
	}
	for (int i = 0; i < 4; i++)
	{
	    line3.addView(drawView(SecondActivity.this, i));
	}
	for(int i = 0; i < 5; i++){
	    line4.addView(drawView(SecondActivity.this, i));
	}
	layout.addView(line2);
	layout.addView(line3);
	layout.addView(line4);
    }
    //生成子布局的子布局
    public View drawView(Context context, int count)
    {

	LinearLayout layout = new LinearLayout(context);
	LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,
		LayoutParams.WRAP_CONTENT, 1);
	params.gravity = Gravity.CENTER;
	layout.setOrientation(LinearLayout.HORIZONTAL);
	layout.setLayoutParams(params);
	if (count == 1)
	{
	    layout.setBackgroundResource(R.color.back);
	}
	RelativeLayout relativeLayout = new RelativeLayout(context);
	android.widget.RelativeLayout.LayoutParams params3 = new android.widget.RelativeLayout.LayoutParams(
		android.widget.RelativeLayout.LayoutParams.MATCH_PARENT,
		android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
	relativeLayout.setLayoutParams(params3);
	/*
	 * ImageView imageView = new ImageView(context); LayoutParams params2 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
	 */
	Button imageView = new Button(context);
	android.widget.RelativeLayout.LayoutParams params2 = new android.widget.RelativeLayout.LayoutParams(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT,
		android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
	//imageView.setGravity(RelativeLayout.CENTER_IN_PARENT);
	imageView.setText("測试");
	params2.addRule(RelativeLayout.CENTER_IN_PARENT);
	
	// imageView.setBackgroundResource(R.drawable.ic_launcher);
	imageView.setLayoutParams(params2);
        
	/*
	 * TextView textView = new TextView(context); LayoutParams params3 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); textView.setText("測试专用");
	 * textView.setLayoutParams(params3);
	 */

	relativeLayout.addView(imageView);
	// layout.addView(textView);
        layout.addView(relativeLayout);
	return layout;
    }
    //生成主布局的子布局
    public View drawParent(Context context)
    {
	LinearLayout layout = new LinearLayout(context);
	LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
	// params.gravity = Gravity.CENTER_HORIZONTAL;
	layout.setOrientation(LinearLayout.HORIZONTAL);
	layout.setLayoutParams(params);
	return layout;
    }

}

附Demo下载地址:http://download.csdn.net/detail/laoziyueguo3/7423939

2017-11-15 10:12:00 weixin_34160277 阅读数 11

Android 除了能够载入xml文件,显示布局外,也能够代码生成布局,并通过setContentView(View view)方法显示布局。单独的一层布局,如一个主布局加一个控件(如Button\imageView等)动态生成代码比較简单。以下仅仅给出演示样例代码:

package com.example.android_dongtaishengcheng;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
import android.widget.RelativeLayout.LayoutParams;

public class MainActivity extends Activity
{
    RelativeLayout relativeLayout = null;
    private Button button;
    
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
	super.onCreate(savedInstanceState);
	relativeLayout = new RelativeLayout(this);
	LayoutParams params = new LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
		RelativeLayout.LayoutParams.MATCH_PARENT);
	relativeLayout.setLayoutParams(params);
	relativeLayout.setBackgroundResource(R.color.back);
	setContentView(relativeLayout);
	
	button = new Button(this);
	LayoutParams params2 = new LayoutParams(300, 300);
	button.setLayoutParams(params2);
	params2.addRule(RelativeLayout.CENTER_IN_PARENT);
	button.setText("hello");
	relativeLayout.addView(button);
	button.setOnClickListener(new View.OnClickListener()
	{
	    
	    @Override
	    public void onClick(View v)
	    {
		// TODO Auto-generated method stub
		startActivity(new Intent(MainActivity.this,SecondActivity.class));
	    }
	});
    }
}
以下进入重点:多层嵌套布局的动态生成。

情景描写叙述:父布局是一个线性布局,其子布局按竖直方向排列。子布局的子布局也是一个线性布局,按水平方向排列。


事实上非常easy,关键点在于。怎样控制主布局的子布局换行显示。即实现Orientation = "vertical"。能够在子布局外在加一层布局,即以下的drawParent()方法,该方法用来生成父布局的直接子布局,drawView()方法用来生成直接子布局的子布局(该布局也是多层嵌套)。能够实现例如以下图效果:


贴出代码例如以下:


}









本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5111135.html,如需转载请自行联系原作者

2014-05-30 09:13:26 laoziyueguo3 阅读数 5113

Android 除了可以加载xml文件,显示布局外,也可以代码生成布局,并通过setContentView(View view)方法显示布局。单独的一层布局,如一个主布局加一个控件(如Button\imageView等)动态生成代码比较简单,下面只给出示例代码:

package com.example.android_dongtaishengcheng;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
import android.widget.RelativeLayout.LayoutParams;

public class MainActivity extends Activity
{
    RelativeLayout relativeLayout = null;
    private Button button;
    
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
	super.onCreate(savedInstanceState);
	relativeLayout = new RelativeLayout(this);
	LayoutParams params = new LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
		RelativeLayout.LayoutParams.MATCH_PARENT);
	relativeLayout.setLayoutParams(params);
	relativeLayout.setBackgroundResource(R.color.back);
	setContentView(relativeLayout);
	
	button = new Button(this);
	LayoutParams params2 = new LayoutParams(300, 300);
	button.setLayoutParams(params2);
	params2.addRule(RelativeLayout.CENTER_IN_PARENT);
	button.setText("hello");
	relativeLayout.addView(button);
	button.setOnClickListener(new View.OnClickListener()
	{
	    
	    @Override
	    public void onClick(View v)
	    {
		// TODO Auto-generated method stub
		startActivity(new Intent(MainActivity.this,SecondActivity.class));
	    }
	});
    }
}
下面进入重点:多层嵌套布局的动态生成。

情景描述:父布局是一个线性布局,其子布局按竖直方向排列,子布局的子布局也是一个线性布局,按水平方向排列。
其实很简单,关键点在于,如何控制主布局的子布局换行显示,即实现Orientation = "vertical"。可以在子布局外在加一层布局,即下面的drawParent()方法,该方法用来生成父布局的直接子布局,drawView()方法用来生成直接子布局的子布局(该布局也是多层嵌套)。可以实现如下图效果:


贴出代码如下:

/**
 * 
 */
package com.example.android_dongtaishengcheng;
import android.R.integer;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.LinearLayout.LayoutParams;

/**
 * @author zhiyuan
 * 
 * 2014-5-29 上午10:44:44
 * 
 */
public class SecondActivity extends Activity
{
    LinearLayout layout = null;
    LinearLayout line2 = null;
    LinearLayout line3 = null;
    LinearLayout line4 = null;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
	// TODO Auto-generated method stub
	super.onCreate(savedInstanceState);
	layout = new LinearLayout(this);
	LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
	layout.setLayoutParams(params);
	layout.setOrientation(LinearLayout.VERTICAL);
	setContentView(layout);

	// layout.addView(drawView(this));
	line2 = (LinearLayout) drawParent(this);
	line3 = (LinearLayout) drawParent(this);
	line4 = (LinearLayout) drawParent(this);
	for (int i = 0; i < 2; i++)
	{
	    line2.addView(drawView(SecondActivity.this, i));
	}
	for (int i = 0; i < 4; i++)
	{
	    line3.addView(drawView(SecondActivity.this, i));
	}
	for(int i = 0; i < 5; i++){
	    line4.addView(drawView(SecondActivity.this, i));
	}
	layout.addView(line2);
	layout.addView(line3);
	layout.addView(line4);
    }
    //生成子布局的子布局
    public View drawView(Context context, int count)
    {

	LinearLayout layout = new LinearLayout(context);
	LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,
		LayoutParams.WRAP_CONTENT, 1);
	params.gravity = Gravity.CENTER;
	layout.setOrientation(LinearLayout.HORIZONTAL);
	layout.setLayoutParams(params);
	if (count == 1)
	{
	    layout.setBackgroundResource(R.color.back);
	}
	RelativeLayout relativeLayout = new RelativeLayout(context);
	android.widget.RelativeLayout.LayoutParams params3 = new android.widget.RelativeLayout.LayoutParams(
		android.widget.RelativeLayout.LayoutParams.MATCH_PARENT,
		android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
	relativeLayout.setLayoutParams(params3);
	/*
	 * ImageView imageView = new ImageView(context); LayoutParams params2 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
	 */
	Button imageView = new Button(context);
	android.widget.RelativeLayout.LayoutParams params2 = new android.widget.RelativeLayout.LayoutParams(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT,
		android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
	//imageView.setGravity(RelativeLayout.CENTER_IN_PARENT);
	imageView.setText("测试");
	params2.addRule(RelativeLayout.CENTER_IN_PARENT);
	
	// imageView.setBackgroundResource(R.drawable.ic_launcher);
	imageView.setLayoutParams(params2);
        
	/*
	 * TextView textView = new TextView(context); LayoutParams params3 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); textView.setText("测试专用");
	 * textView.setLayoutParams(params3);
	 */

	relativeLayout.addView(imageView);
	// layout.addView(textView);
        layout.addView(relativeLayout);
	return layout;
    }
    //生成主布局的子布局
    public View drawParent(Context context)
    {
	LinearLayout layout = new LinearLayout(context);
	LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
	// params.gravity = Gravity.CENTER_HORIZONTAL;
	layout.setOrientation(LinearLayout.HORIZONTAL);
	layout.setLayoutParams(params);
	return layout;
    }

}

附Demo下载地址:http://download.csdn.net/detail/laoziyueguo3/7423939

2014-05-30 19:29:17 wwwwenhuan 阅读数 2228

前段时间学习了android,了解到android主要是使用xml布局文件进行布局的,但是对于一些动态的界面,就需要使用代码动态生成布局。

Android 除了可以加载xml文件,显示布局外,也可以代码生成布局,并通过setContentView(View view)方法显示布局。单独的一层布局,如一个主布局加一个控件(如Button\imageView等)动态生成代码比较简单,下面只给出示例代码:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. package com.example.android_dongtaishengcheng;  
  2.   
  3. import android.os.Bundle;  
  4. import android.app.Activity;  
  5. import android.content.Intent;  
  6. import android.view.Menu;  
  7. import android.view.View;  
  8. import android.widget.Button;  
  9. import android.widget.RelativeLayout;  
  10. import android.widget.Toast;  
  11. import android.widget.RelativeLayout.LayoutParams;  
  12.   
  13. public class MainActivity extends Activity  
  14. {  
  15.     RelativeLayout relativeLayout = null;  
  16.     private Button button;  
  17.       
  18.     @Override  
  19.     protected void onCreate(Bundle savedInstanceState)  
  20.     {  
  21.     super.onCreate(savedInstanceState);  
  22.     relativeLayout = new RelativeLayout(this);  
  23.     LayoutParams params = new LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,  
  24.         RelativeLayout.LayoutParams.MATCH_PARENT);  
  25.     relativeLayout.setLayoutParams(params);  
  26.     relativeLayout.setBackgroundResource(R.color.back);  
  27.     setContentView(relativeLayout);  
  28.       
  29.     button = new Button(this);  
  30.     LayoutParams params2 = new LayoutParams(300300);  
  31.     button.setLayoutParams(params2);  
  32.     params2.addRule(RelativeLayout.CENTER_IN_PARENT);  
  33.     button.setText("hello");  
  34.     relativeLayout.addView(button);  
  35.     button.setOnClickListener(new View.OnClickListener()  
  36.     {  
  37.           
  38.         @Override  
  39.         public void onClick(View v)  
  40.         {  
  41.         // TODO Auto-generated method stub  
  42.         startActivity(new Intent(MainActivity.this,SecondActivity.class));  
  43.         }  
  44.     });  
  45.     }  
  46. }  
下面进入重点:多层嵌套布局的动态生成。

情景描述:父布局是一个线性布局,其子布局按竖直方向排列,子布局的子布局也是一个线性布局,按水平方向排列。
其实很简单,关键点在于,如何控制主布局的子布局换行显示,即实现Orientation = "vertical"。可以在子布局外在加一层布局,即下面的drawParent()方法,该方法用来生成父布局的直接子布局,drawView()方法用来生成直接子布局的子布局(该布局也是多层嵌套)。可以实现如下图效果:


贴出代码如下:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. /** 
  2.  *  
  3.  */  
  4. package com.example.android_dongtaishengcheng;  
  5. import android.R.integer;  
  6. import android.app.Activity;  
  7. import android.content.Context;  
  8. import android.os.Bundle;  
  9. import android.view.Gravity;  
  10. import android.view.View;  
  11. import android.widget.Button;  
  12. import android.widget.LinearLayout;  
  13. import android.widget.RelativeLayout;  
  14. import android.widget.LinearLayout.LayoutParams;  
  15.   
  16. /** 
  17.  * @author zhiyuan 
  18.  *  
  19.  * 2014-5-29 上午10:44:44 
  20.  *  
  21.  */  
  22. public class SecondActivity extends Activity  
  23. {  
  24.     LinearLayout layout = null;  
  25.     LinearLayout line2 = null;  
  26.     LinearLayout line3 = null;  
  27.     LinearLayout line4 = null;  
  28.     @Override  
  29.     protected void onCreate(Bundle savedInstanceState)  
  30.     {  
  31.     // TODO Auto-generated method stub  
  32.     super.onCreate(savedInstanceState);  
  33.     layout = new LinearLayout(this);  
  34.     LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);  
  35.     layout.setLayoutParams(params);  
  36.     layout.setOrientation(LinearLayout.VERTICAL);  
  37.     setContentView(layout);  
  38.   
  39.     // layout.addView(drawView(this));  
  40.     line2 = (LinearLayout) drawParent(this);  
  41.     line3 = (LinearLayout) drawParent(this);  
  42.     line4 = (LinearLayout) drawParent(this);  
  43.     for (int i = 0; i < 2; i++)  
  44.     {  
  45.         line2.addView(drawView(SecondActivity.this, i));  
  46.     }  
  47.     for (int i = 0; i < 4; i++)  
  48.     {  
  49.         line3.addView(drawView(SecondActivity.this, i));  
  50.     }  
  51.     for(int i = 0; i < 5; i++){  
  52.         line4.addView(drawView(SecondActivity.this, i));  
  53.     }  
  54.     layout.addView(line2);  
  55.     layout.addView(line3);  
  56.     layout.addView(line4);  
  57.     }  
  58.     //生成子布局的子布局  
  59.     public View drawView(Context context, int count)  
  60.     {  
  61.   
  62.     LinearLayout layout = new LinearLayout(context);  
  63.     LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,  
  64.         LayoutParams.WRAP_CONTENT, 1);  
  65.     params.gravity = Gravity.CENTER;  
  66.     layout.setOrientation(LinearLayout.HORIZONTAL);  
  67.     layout.setLayoutParams(params);  
  68.     if (count == 1)  
  69.     {  
  70.         layout.setBackgroundResource(R.color.back);  
  71.     }  
  72.     RelativeLayout relativeLayout = new RelativeLayout(context);  
  73.     android.widget.RelativeLayout.LayoutParams params3 = new android.widget.RelativeLayout.LayoutParams(  
  74.         android.widget.RelativeLayout.LayoutParams.MATCH_PARENT,  
  75.         android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);  
  76.     relativeLayout.setLayoutParams(params3);  
  77.     /* 
  78.      * ImageView imageView = new ImageView(context); LayoutParams params2 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
  79.      */  
  80.     Button imageView = new Button(context);  
  81.     android.widget.RelativeLayout.LayoutParams params2 = new android.widget.RelativeLayout.LayoutParams(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT,  
  82.         android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);  
  83.     //imageView.setGravity(RelativeLayout.CENTER_IN_PARENT);  
  84.     imageView.setText("测试");  
  85.     params2.addRule(RelativeLayout.CENTER_IN_PARENT);  
  86.       
  87.     // imageView.setBackgroundResource(R.drawable.ic_launcher);  
  88.     imageView.setLayoutParams(params2);  
  89.           
  90.     /* 
  91.      * TextView textView = new TextView(context); LayoutParams params3 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); textView.setText("测试专用"); 
  92.      * textView.setLayoutParams(params3); 
  93.      */  
  94.   
  95.     relativeLayout.addView(imageView);  
  96.     // layout.addView(textView);  
  97.         layout.addView(relativeLayout);  
  98.     return layout;  
  99.     }  
  100.     //生成主布局的子布局  
  101.     public View drawParent(Context context)  
  102.     {  
  103.     LinearLayout layout = new LinearLayout(context);  
  104.     LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);  
  105.     // params.gravity = Gravity.CENTER_HORIZONTAL;  
  106.     layout.setOrientation(LinearLayout.HORIZONTAL);  
  107.     layout.setLayoutParams(params);  
  108.     return layout;  
  109.     }  
  110.   
  111. }  

附Demo下载地址:http://download.csdn.net/detail/laoziyueguo3/7423939
2017-09-01 14:30:11 qq_28598739 阅读数 376

举个栗子:

"provinceData":Array[31],
    "captchaFlag":false,
    "proGroupNum":Object{...},
    "goodsId":"1610241535",
    "resultCode":"0000",
    "cityData":Object{...},
    "resultMsg":"成功"
解析
provinceData
里的试一下,

"provinceData":[
        {
            "PROVINCE_NAME":"北京",
            "PROVINCE_CODE":"11",
            "PRO_ORDER_NUMBER":1
        }
,
        {
            "PROVINCE_NAME":"上海",
            "PROVINCE_CODE":"31",
            "PRO_ORDER_NUMBER":2
        }
,]

代码如下:

	JSONObject jsonObject1=new JSONObject(json);
            JSONArray jsonArray=jsonObject1.getJSONArray("provinceData");
            for (int i=0;i<jsonArray.length();i++){
                JSONObject jsonObject=jsonArray.getJSONObject(i);
                String PROVINCE_NAME=jsonObject.getString("PROVINCE_NAME");
                Log.d(TAG,PROVINCE_NAME);}
输出结果:
MainActivity: 北京
MainActivity: 上海









没有更多推荐了,返回首页