我正在制作聊天应用程序,所以想在我的actionbar()
聊天活动中添加图标和后退按钮(就像在WhatsApp中一样),但是我无法设置这两个东西......
这是代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat);
initControls();
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
Intent intent = getIntent();
String itemname = intent.getStringExtra("itemname");
actionBar.setTitle(itemname);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
actionBar.setIcon(R.mipmap.ic_launcher);
}
问题是两个东西都没有同时设置上面的代码只有后退按钮出现,如果我删除后退按钮的代码然后图标显示...如何设置两件事???
答案 0 :(得分:0)
您不应使用默认操作栏,制作自定义工具栏并在其中添加imageview。 像这样:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:popupTheme="@style/AppTheme.PopupOverlay"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/imageToolBar"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:layout_marginTop="3dp"
android:src="@drawable/profile"
/>
<TextView
android:id="@+id/toolbarText"
style="@style/TextToolBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_centerVertical="true"
android:layout_marginStart="10dp"
android:layout_toEndOf="@id/imageToolBar"
android:layout_toRightOf="@+id/imageToolBar"
android:text="Your text"
/>
</RelativeLayout>
</android.support.v7.widget.Toolbar>
然后在你的java文件中执行以下操作:
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
TextView toolbarText = (TextView)toolbar.findViewById(R.id.toolbarText);
ImageView imageView = (ImageView)toolbar.findViewById(R.id.imageToolBar);
//Do your stuff here like set image on imageView
快乐编码.. :)
答案 1 :(得分:0)
如果你想要完全像WhatsApp那么你需要使用Bitmap和Canvas制作一个自定义drawable,同时使用后退按钮和Profile图像在同一个可绘制图像中。然后将此可绘制图像设置为HomeAsUpIndicator
getSupportActionBar().setHomeAsUpIndicator(R.drawable.custom_back);