2017-06-27 15 views
0

私はチャットアプリケーションを作っているので、チャットアクティビティで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); 

} 

問題がで物事を同時に設定取得されていない両方のことです:のWhatsApp)が、私は両方のものを設定することはできないんだけど...ここ

コードです上記のコードだけが戻るボタンが表示され、戻るボタンのコードを削除するとアイコンが表示されます...両方の方法を設定するには???

答えて

0

デフォルトのアクションバーを使用したり、カスタムツールバーを作成したり、イメージビューを追加したりしないでください。

<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 

ハッピー.. :)

+0

ありがとうございました:) –

+0

この検索バーを実装する方法は? –

+0

検索アイコンが表示されるメニューを展開します。あなたのツールバーにsearchviewコンポーネントを追加すると、可視性が隠されるように設定されます。 Ashwani

0

あなたは正確のWhatsAppのようにしたい場合は、カスタムを作成する必要がありますビットマップとキャンバスを使用して、同じ描画可能イメージ内に戻るボタンとプロファイルイメージの両方を持つ描画可能です。次に、このDrawableイメージをHomeAsUpIndicatorとして設定します

getSupportActionBar().setHomeAsUpIndicator(R.drawable.custom_back); 
+0

は、リスト内の各ユーザのために変更することがアイコンができて感謝だ景色 –

+0

はい。基本的には、コンテキストとプロファイルイメージをBitmapで取得し、描画可能イメージを返す静的関数を作成することができます。チャットスクリーンを開くとチャットが開始された相手の画像でこの機能を呼び出すことができます。 – nitinkumarp

関連する問題