1.用纯java代码实现布局,并且实现事件响应
在MainActivity中写
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FrameLayout frameLayout=new FrameLayout(this);
frameLayout.setBackgroundResource(R.mipmap.bg);
setContentView(frameLayout);
TextView textView=new TextView(this);
textView.setText("戳这里");
textView.setTextColor(Color.rgb(0,255,0));
textView.setTextSize(20);
//这个类才能设置View的摆放位置
FrameLayout.LayoutParams layoutParams=new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT,FrameLayout.LayoutParams.WRAP_CONTENT);
layoutParams.gravity=Gravity.CENTER;//是文本居中显示
textView.setLayoutParams(layoutParams);
frameLayout.addView(textView);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(MainActivity.this).setTitle("爱的测试").setMessage("你喜欢我吗?").setPositiveButton(
"太喜欢你了", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("en","超喜欢");
}
}
).setNegativeButton(
"爱死你了", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("en","love you");
}
}
).show();
}
});
}
}
2.java编码和.XML结合进行布局
java代码
public class MainActivity extends AppCompatActivity {
private ImageView[]imageViews=new ImageView[12];//创建一个存放图片组件的数组
private int []imagepath=new int[]{
R.mipmap.tu1,R.mipmap.tu2,R.mipmap.tu3,R.mipmap.tu4,
R.mipmap.tu1,R.mipmap.tu2,R.mipmap.tu3,R.mipmap.tu4,
R.mipmap.tu1,R.mipmap.tu2,R.mipmap.tu3,R.mipmap.tu4,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridLayout gridLayout=(GridLayout)findViewById(R.id.layout);//获取.XML中的布局
for(int i=0;i<imagepath.length;i++)
{
imageViews[i]=new ImageView(MainActivity.this);
imageViews[i].setImageResource(imagepath[i]);
imageViews[i].setPadding(2,2,2,2);
ViewGroup.LayoutParams params=new ViewGroup.LayoutParams(80,50);
imageViews[i].setLayoutParams(params);
gridLayout.addView(imageViews[i]);
}
}
}
.XML代码
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:rowCount="3"
android:columnCount="4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="nuc.edu.com.qq.MainActivity">
</GridLayout>