如何添加返回按钮,显示"返回"

时间:2015-08-24 00:11:56

标签: android user-interface back

我有一个后退按钮,但它只是一个指向左侧的箭头。它没有图标,所以它很薄。

我想在其中添加文字,如iOS屏幕截图所示:

enter image description here

可以在标题栏中添加文字,但你必须点击小箭头才能让它返回。

我无法找到任何XML或代码解决方案。 如何在后退按钮中添加文字?

2 个答案:

答案 0 :(得分:1)

添加您的活动的onCreate:

ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

然后您可以在onOptionsItemSelected上自定义后台事件,如:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            //Finish activity.
            finish();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

然后在您的AppManifest.xml中,您的活动代码中包含一个名为android:label="Notes"的属性。

其中"注意"将是您将在ActionBar中显示的活动的标题。

答案 1 :(得分:0)

找到了一个很好的解决方案!操作栏的自定义视图。这意味着您不必将活动的标签设置为不受欢迎的标签(例如"返回")。

enter link description here

  

custom_actionbar.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@drawable/black_pattern" >

    <TextView
        android:id="@+id/title_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textAllCaps="true"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#fff"
        android:textStyle="bold" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="35dp"
        android:layout_height="35dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="8dp"
        android:src="@drawable/ic_launcher" />

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="8dp"
        android:background="@null"
        android:src="@android:drawable/ic_menu_rotate" />

</RelativeLayout>
     

MainActivity.java

public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      ActionBar mActionBar = getActionBar();
      mActionBar.setDisplayShowHomeEnabled(false);
      mActionBar.setDisplayShowTitleEnabled(false);
      LayoutInflater mInflater = LayoutInflater.from(this);

      View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);
      TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);
      mTitleTextView.setText("My Own Title");

      ImageButton imageButton = (ImageButton) mCustomView
              .findViewById(R.id.imageButton);
      imageButton.setOnClickListener(new OnClickListener() {

          @Override
          public void onClick(View view) {
              Toast.makeText(getApplicationContext(), "Refresh Clicked!",
                      Toast.LENGTH_LONG).show();
          }
      });

      mActionBar.setCustomView(mCustomView);
      mActionBar.setDisplayShowCustomEnabled(true);
  }

}