1.2 MainActivity布局代码:
[html] view plain copy print ? <?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=“com.example.lyp.myapplication.MainActivity”> <TextView android:id=“@+id/mtv” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:text=“Hello World!” android:background=“#c79898” android:textSize=“30sp” android:layout_marginTop=“20dp” android:layout_centerHorizontal=“true” /> <Button android:id=“@+id/mbt” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_below=“@+id/mtv” android:text=“button” android:background=“@drawable/button” android:layout_marginTop=“10dp” android:textAllCaps=“false” android:textSize=“25sp” android:layout_centerHorizontal=“true” /> <CheckBox android:id=“@+id/mche” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_below=“@+id/mbt” android:layout_marginTop=“10dp” android:textColor=“#ff0008” android:textSize=“15sp” android:button=“@drawable/check” android:text=“我没被选中!” android:layout_marginLeft=“50dp” android:layout_centerHorizontal=“true” /> <TextView android:id=“@+id/mtv2” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:text=“别管我” android:background=“#c79898” android:textSize=“30sp” android:layout_marginTop=“10dp” android:layout_centerHorizontal=“true” android:layout_below=“@+id/mche” /> </RelativeLayout> <?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="com.example.lyp.myapplication.MainActivity"> <TextView android:id="@+id/mtv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:background="#c79898" android:textSize="30sp" android:layout_marginTop="20dp" android:layout_centerHorizontal="true" /> <Button android:id="@+id/mbt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/mtv" android:text="button" android:background="@drawable/button" android:layout_marginTop="10dp" android:textAllCaps="false" android:textSize="25sp" android:layout_centerHorizontal="true" /> <CheckBox android:id="@+id/mche" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/mbt" android:layout_marginTop="10dp" android:textColor="#ff0008" android:textSize="15sp" android:button="@drawable/check" android:text="我没被选中!" android:layout_marginLeft="50dp" android:layout_centerHorizontal="true" /> <TextView android:id="@+id/mtv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="别管我" android:background="#c79898" android:textSize="30sp" android:layout_marginTop="10dp" android:layout_centerHorizontal="true" android:layout_below="@+id/mche" /> </RelativeLayout>1.3 Button样式自定义(其实就是按下后会变个样子):
分别是:button、pressed和unpressed文件
[html] view plain copy print ? <?xml version=“1.0” encoding=“utf-8”?> <selector xmlns:android=“http://schemas.android.com/apk/res/android”> <item android:state_pressed=“true” android:drawable=“@drawable/pressed”/> <item android:drawable=“@drawable/unpressed”/> </selector> <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/pressed"/> <item android:drawable="@drawable/unpressed"/> </selector> [html] view plain copy print ? <?xml version=“1.0” encoding=“utf-8”?> <shape xmlns:android=“http://schemas.android.com/apk/res/android”> <corners android:radius=“5dp” /> <stroke android:color=“@color/colorPrimary” android:width=“3dp” /> <solid android:color=“@color/colorAccent”/> </shape> <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="5dp" /> <stroke android:color="@color/colorPrimary" android:width="3dp" /> <solid android:color="@color/colorAccent"/> </shape> [html] view plain copy print ? <?xml version=“1.0” encoding=“utf-8”?> <shape xmlns:android=“http://schemas.android.com/apk/res/android”> <corners android:radius=“5dp” /> <stroke android:color=“@color/colorAccent” android:width=“3dp” /> <solid android:color=“@color/colorPrimary”/> </shape> <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="5dp" /> <stroke android:color="@color/colorAccent" android:width="3dp" /> <solid android:color="@color/colorPrimary"/> </shape>1.4 Check样式自定义:
[html] view plain copy print ? <?xml version=“1.0” encoding=“utf-8”?> <selector xmlns:android=“http://schemas.android.com/apk/res/android”> <item android:state_checked=“true” android:drawable=“@drawable/check_choose”/> <item android:drawable=“@drawable/check_unchoose”/> </selector> <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/check_choose"/> <item android:drawable="@drawable/check_unchoose"/> </selector>这是自定义Check是用到的选中和未选中的素材:
1.5 Mainactivity截图:
说明:其中第一个控件没什么作用,我在其中就学到了和延时函数的使用,Button的作用是跳转到其他的Activity中,接着就是一个Check复选框按钮,我在TextView和Button的点击事件中的设置了Check的选中状态,所以当点击他们的时候Check的状态会变化。不过后面奖Buton设置成跳转到SecondActivity了。最后一个也是一个TextView,他的作用主要是显示从其他的Activity传过来的数据。这里我设置的是传过来一个随机数(Math.random()函数产生0到1的随机数。返回值是double型)。所以每次传的数据都是不一样的。
2.1 SecondActivity.java代码:
[java] view plain copy print ? import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class SecondActivity extends AppCompatActivity { private TextView second_mtv; private Button second_mbt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate ( savedInstanceState ); setContentView ( R.layout.activity_second ); second_mtv = findViewById ( R.id.second_mtv ); second_mbt = findViewById ( R.id.second_mbt ); //接收来自MainActivity的数据 /*Intent intent = getIntent (); second_mtv.setText ( intent.getStringExtra ( “extra_data” ) ); second_mtv.setTextSize ( 30 );*/ //返回数据到MainActivity second_mbt.setOnClickListener ( new View.OnClickListener (){ @Override public void onClick(View view){ int i = (int)( Math.random()*100);//产生一个随机数 Intent intent = new Intent ( ); intent.putExtra ( ”return_data”,Double.toString ( i ));//将数据传输过去 setResult ( RESULT_OK,intent ); finish ();//销毁当前Activity } } ); } } import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class SecondActivity extends AppCompatActivity { private TextView second_mtv; private Button second_mbt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate ( savedInstanceState ); setContentView ( R.layout.activity_second ); second_mtv = findViewById ( R.id.second_mtv ); second_mbt = findViewById ( R.id.second_mbt ); //接收来自MainActivity的数据 /*Intent intent = getIntent (); second_mtv.setText ( intent.getStringExtra ( "extra_data" ) ); second_mtv.setTextSize ( 30 );*/ //返回数据到MainActivity second_mbt.setOnClickListener ( new View.OnClickListener (){ @Override public void onClick(View view){ int i = (int)( Math.random()*100);//产生一个随机数 Intent intent = new Intent ( ); intent.putExtra ( "return_data",Double.toString ( i ));//将数据传输过去 setResult ( RESULT_OK,intent ); finish ();//销毁当前Activity } } ); } }2.2 SecondActivity布局文件:
[html] view plain copy print ? <?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” android:gravity=“center_horizontal” tools:context=“com.example.lyp.myapplication.SecondActivity”> <TextView android:id=“@+id/second_mtv” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:hint=“显示传递过来的数据” android:layout_marginTop=“50dp” /> <Button android:id=“@+id/second_mbt” android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_below=“@+id/second_mtv” android:layout_marginTop=“20dp” android:background=“@drawable/button” android:text=“button” android:textAllCaps=“false” android:textSize=“20sp” /> </RelativeLayout> <?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" android:gravity="center_horizontal" tools:context="com.example.lyp.myapplication.SecondActivity"> <TextView android:id="@+id/second_mtv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="显示传递过来的数据" android:layout_marginTop="50dp" /> <Button android:id="@+id/second_mbt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/second_mtv" android:layout_marginTop="20dp" android:background="@drawable/button" android:text="button" android:textAllCaps="false" android:textSize="20sp" /> </RelativeLayout>源代码下载
</div>