老闆一個項目,感受上面加一個返回界面更加方便,不用每次都要按下右下角的返回鍵(本人小米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文件就是今天主要的內容了。上面的意思就是:定義了這個按鈕按下或者未被按下是的動做,對應的狀態,分別顯示按下時的圖片和未被按下時的圖盤。這樣就能夠達到按下時按鈕的顏色不一樣的效果了。