Android控制UI界面的三种方式
2016-08-27 16:02
411 查看
一、XML文件控制UI界面
通过setContentView()方法绑定布局文件
Activity绑定的是activity_main.xml文件,下面是activity_main.xml文件
这种方式简洁方便,但灵活性不高。
二、代码控制UI界面
虽然代码的方式控制UI灵活性高,但步骤繁琐,全部内容集中到代码中不利于后期维护。
三、XML和代码混合方式控制UI界面
通过混合的方式,把那些固定或者变化不大的View在Xml中设计,而那些动态变化的就用代码来实现
下面是布局文件
通过setContentView()方法绑定布局文件
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
Activity绑定的是activity_main.xml文件,下面是activity_main.xml文件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="helloworld.yougel.com.helloworld.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> </RelativeLayout>
这种方式简洁方便,但灵活性不高。
二、代码控制UI界面
import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ViewGroup; import android.widget.Button; import android.widget.LinearLayout; public class CodeCActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout linearLayout=new LinearLayout(this); //设置布局的宽、高 linearLayout.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT )); linearLayout.setOrientation(LinearLayout.VERTICAL); linearLayout.setBackgroundColor(Color.parseColor("#ff0000")); setContentView(linearLayout); Button button=new Button(this); button.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT )); button.setText("hello"); linearLayout.addView(button); } }
虽然代码的方式控制UI灵活性高,但步骤繁琐,全部内容集中到代码中不利于后期维护。
三、XML和代码混合方式控制UI界面
通过混合的方式,把那些固定或者变化不大的View在Xml中设计,而那些动态变化的就用代码来实现
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; public class ImageSwitchActivity extends AppCompatActivity { int[] images{R.mipmap.one, R.mipmap.two, R.mipmap.three, R.mipmap.four}; int currentImage=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_image_switch); LinearLayout root= (LinearLayout) findViewById(R.id.root); final ImageView imageView=new ImageView(this); imageView.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT )); imageView.setImageResource(images[0]); root.addView(imageView); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { imageView.setImageResource(images[currentIamge++%images.length]); } }); } }
下面是布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id="@+id/root" android:gravity="center" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> </LinearLayout>
相关文章推荐
- Android中UI界面控制方式介绍与使用
- Android界面设计的4种方式之二——在Java代码中控制UI界面
- Android编程方式开发UI界面和XML文件与Java代码混合控制UI界面
- Android中的UI界面控制方式和自定义View
- Android控制程序界面的三种方式
- Android界面设计的4种方式之三——使用XML和JAVA代码混合控制UI界面
- android中获取位置的三种方式
- [Android开发]Android之使用HTTP的get,post,HttpClient三种方式向服务器端提交文本数据
- Android 解析XML文件的三种方式 DOM,SAX,PULL
- OpenGL学习笔记 (7) —— 三种不同的纹理滤波方式,光照和键盘控制
- android完全退出应用程序的三种方式
- android完全退出应用程序的三种方式
- android退出程序三种方式及其小问题
- Android HAL实现的三种方式(3) - 基于Manager的HAL设计
- Android HAL实现的三种方式(2) - 基于Service的HAL设计
- android完全退出应用程序的三种方式 .
- android完全退出应用程序的三种方式 .
- android Service Activity三种交互方式(付源码)
- Android HAL实现的三种方式(2) - 基于Service的HAL设计 推荐
- android响应事件的三种方式