老板一个项目,感受上面加一个返回界面更加方便,不用每次都要按下右下角的返回键(本人小米2S).java
首先 有一个主界面(MainActivity.java)里面一个按钮,点了这个按钮跳到另外一个界面。android
运行以下:app
代码以下:ide
package com.example.topback; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { private Button button_to_second = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button_to_second = (Button)findViewById(R.id.btn_to_second); button_to_second.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(MainActivity.this, Second.class); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
主界面的布局很简单,就一个按钮。布局
接下来是第二个界面Second.javathis
界面运行以下:spa
package com.example.topback; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Second extends Activity{ private Button button_back = null; private Button button_more = null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); button_back = (Button)findViewById(R.id.btn_back); button_more = (Button)findViewById(R.id.btn_more); button_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub finish(); } }); button_more.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(Second.this, More.class); startActivity(intent); } }); } }
这个界面的布局也比较简单,就最上面一个相对布局,里面放返回按钮,布局代码以下 code
<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" > <RelativeLayout android:id="@+id/top_relative" android:layout_width="fill_parent" android:background="@drawable/head_bg" android:layout_height="50.0dip" > <Button android:id="@+id/btn_back" android:layout_width="wrap_content" android:background="@drawable/back" //这里很关键 将在下面讲解 android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_gravity="center_vertical" android:layout_marginLeft="5.0dip" android:textColor="@android:color/white" android:text="返回" /> <TextView android:id="@+id/titleText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:textSize="18dp" android:text="标题文字" android:textColor="@android:color/white" android:singleLine="true" /> <Button android:id="@+id/btn_more" android:layout_width="wrap_content" android:background="@drawable/btn_back"//这里同上面的注释 android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:layout_gravity="center_vertical" android:layout_marginRight="5.0dip" android:textColor="@android:color/white" android:text="更多" /> </RelativeLayout> </RelativeLayout>
上面布局代码很简单,可是要注意 button标签里面android:background="@drawable/back"中的back是一个布局文件orm
第二个button里面的android:background="@drawable/btn_back"中的btn_back也是布局文件xml
再要注意的地方是属性是background
详细以下:
back.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/back_normal" /> <item android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/back_pressed" /> <item android:state_selected="true" android:drawable="@drawable/back_pressed" /> </selector>
btn_back.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/btn_normal" /> <item android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/btn_pressed" /> <item android:state_selected="true" android:drawable="@drawable/btn_pressed" /> </selector>
以上两个.xml文件就是今天主要的内容了。上面的意思就是:定义了这个按钮按下或者未被按下是的动做,对应的状态,分别显示按下时的图片和未被按下时的图盘。这样就能够达到按下时按钮的颜色不一样的效果了。