我目前正在研究一个包含操作栏的项目。在这里,我使用了我想要的不同风格的自定义操作栏。但是在这里,我想使用java类在自定义操作栏上动态添加新按钮。我不知道怎么可能?我怎样才能做到这一点?
我的custom_actionbar.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#1FA8B2" >
<TextView
android:id="@+id/actionbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#FFFFFF"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:padding="5dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/actionbar_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:gravity="center"
android:textColor="#FFFFFF"
android:text="@string/back"
android:layout_marginLeft="5dp"
android:padding="5dp"
android:background="@drawable/back_button" />
</RelativeLayout>
我的CustomActionbar.class
public class CustomActionbar {
ActionBar actionBar;
public CustomActionbar(final Activity activity,String title) {
actionBar = activity.getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setCustomView(R.layout.custom_action_bar);
actionBar.setDisplayShowCustomEnabled(true);
TextView title2 = (TextView) actionBar.getCustomView().findViewById(R.id.actionbar_title);
TextView back = (TextView) actionBar.getCustomView().findViewById(R.id.actionbar_back);
title2.setText(title);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
activity.onBackPressed();
}
});
}
}
代替setCustomView(int)
使用setCustomView(android.view.View)
扩充您的布局,保持引用,并在需要时添加新视图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句