カスタム ABS レイアウトを作成しようと試みましたが、役に立ちませんでした。基本的に、クリックすると何かを実行するボタンをメニューに追加しようとしています(現在、「クリックに成功しました」と表示されます。これが私の実装です:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
ActionBar bar = getSupportActionBar();
bar.setTitle("Main Screen");
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000FF")));
View cView = getLayoutInflater().inflate(R.layout.custom_action_bar, null);
bar.setCustomView(cView);
ImageView actionBarLogo = (ImageView) cView.findViewById(R.id.actionBarLogo);
actionBarLogo.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Toast.makeText(DashboardActivity.this.getApplicationContext(),"Successfully clicked.", Toast.LENGTH_LONG).show();
}
});
}
そして、ここに私のXMLコードがあります:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:orientation="horizontal" >
<ImageView
android:id="@+id/actionBarLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingBottom="50dp"
android:paddingLeft="10dp"
android:paddingRight="50dp"
android:paddingTop="50dp"
android:scaleType="centerCrop"
android:src="@drawable/harddisk"/>
</LinearLayout>
ここに解決策があります:私が試したActionbarsherlock custom layout clickable imageview ですが、ボタンはまだアクションバーに表示されません。何か案は?