1

我为我的应用程序创建了自己的主题。我还自定义了操作栏。现在我想将点击事件添加到操作栏的按钮。我的代码如下。我的主题是..

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme" parent="android:Theme.Holo">
    <!--  <item name="android:background">@drawable/red_dark3</item> -->
     <item name="android:windowBackground">@drawable/red_dark3</item>
      <item name="android:actionBarStyle">@style/Widget.ActionBar</item> 
    <item name="android:actionBarSize">120dp</item>
<!-- <item name="android:customNavigationLayout">@layout/top_bar</item> -->
</style>


<style name="Widget.ActionBar" parent="android:Widget.Holo.ActionBar">
     <!-- <item name="android:displayOptions">showHome|useLogo|showCustom</item>  -->
     <item name="android:displayOptions">showTitle</item> 
    <item name="android:customNavigationLayout">@layout/top_bar</item>
     <item name="android:background">@drawable/red_trans</item>
</style>
</resources>

我的 top_bar.xml 布局如下..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/top_bar_layout" >

<ImageButton
    android:id="@+id/back_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="7dip"
   android:background="@drawable/back" />

<ImageButton
    android:id="@+id/home_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     android:layout_marginLeft="10dip"
    android:background="@drawable/home" />
</LinearLayout>

现在我想为这些按钮添加监听器。如果有人知道答案,请告诉我。提前致谢。如果有人知道答案,请回答这篇文章

4

1 回答 1

0

我在布局 xml 中添加了“android:onClick”属性,如下所示..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/top_bar_layout" >

<ImageButton
    android:id="@+id/back_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="7dip"
    android:clickable="true"
    android:onClick="backButtonOnClick"
    android:background="@drawable/back" />

<ImageButton
    android:id="@+id/home_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
     android:layout_marginLeft="10dip"
     android:onClick="homeButtonOnClick"
    android:background="@drawable/home"
    android:clickable="true"  />
</LinearLayout>

在我的活动中如下..

package com.example.android;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;

public class HelloActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      }

    public void backButtonOnClick(View v) {
        Log.d(TAG, "backButtonOnClick");
        onBackPressed();// handle your click
    }

    public void homeButtonOnClick(View v) {
        Log.d(TAG, "homeButtonOnClick");// handle your click
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        startActivity(intent);
    }
   }

这就是我所有的问题解决了。感谢 Stackoverflow 博客。参考你的博客,我尝试了很多东西,最后我得到了解决方案。

于 2012-12-28T07:23:54.253 回答