web-dev-qa-db-fra.com

Comment aligner l'image sur la barre d'outils sous Android

J'utilise ToolBar dans mon activité. Je souhaite aligner correctement la photo de profil de l'utilisateur .J'ai utilisé Android:layout_alignParentRight="true" mais cela ne fonctionne pas.

1. XML

<Android.support.v4.widget.DrawerLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/drawer_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent">

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">

    <!--Top Toolbar-->
    <Android.support.v7.widget.Toolbar
        Android:id="@+id/toolbar_top"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_alignParentTop="true"
        Android:background="#3f5e7e"
        Android:elevation="6dp"
        Android:minHeight="?attr/actionBarSize"
        Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        >
    <com.sevenhorse.View.CircularImageView
        Android:id="@+id/profile"
        Android:layout_width="40sp"
        Android:layout_height="40sp"
        Android:layout_alignParentRight="true"
        Android:foregroundGravity="right"
        />
       <!-- Android:layout_centerVertical="true"-->
    </Android.support.v7.widget.Toolbar>

    <Android.support.design.widget.TabLayout
        Android:id="@+id/tab_layout"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_below="@+id/toolbar_top"
        Android:background="#fbae38"
        Android:elevation="6dp"
        Android:minHeight="?attr/actionBarSize"
        Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:tabGravity="fill"
        app:tabMode="fixed"/>


    <Android.support.v4.view.ViewPager
        Android:id="@+id/pager"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:layout_above="@+id/reltv_footer"
        Android:layout_below="@+id/tab_layout"></Android.support.v4.view.ViewPager>

    <RelativeLayout
        Android:id="@+id/reltv_footer"
        Android:layout_width="match_parent"
        Android:layout_height="50sp"
        Android:layout_alignParentBottom="true"
        Android:background="#2b4d72">

        <LinearLayout
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignParentRight="true"
            Android:layout_centerVertical="true"
            Android:padding="20sp" />

        <ImageView
            Android:id="@+id/img_Profile"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignParentRight="true"
            Android:layout_centerVertical="true"
            Android:background="#2b4d72"
            Android:padding="15sp"
            Android:src="@drawable/more_option" />

        <View
            Android:id="@+id/img_view"
            Android:layout_width="3sp"
            Android:layout_height="fill_parent"
            Android:layout_toLeftOf="@+id/img_Profile"
            Android:background="#335980" />

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="fill_parent"
            Android:layout_toLeftOf="@+id/img_view"
            Android:background="#2b4d72"
            Android:gravity="left"
            Android:orientation="horizontal">

            <ImageView
                Android:id="@+id/home"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignParentRight="true"
                Android:layout_centerVertical="true"
                Android:background="#203b58"
                Android:padding="15sp"
                Android:src="@drawable/home" />

            <View
                Android:layout_width="2sp"
                Android:layout_height="fill_parent"
                Android:layout_toLeftOf="@+id/img_Profile"
                Android:background="#203b58" />

            <ImageView
                Android:id="@+id/friendrequest"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignParentRight="true"
                Android:layout_centerVertical="true"
                Android:padding="15sp"
                Android:src="@drawable/friend_req" />

            <View
                Android:layout_width="2sp"
                Android:layout_height="fill_parent"
                Android:layout_toLeftOf="@+id/img_Profile"
                Android:background="#203b58" />

            <ImageView
                Android:id="@+id/message"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignParentRight="true"
                Android:layout_centerVertical="true"
                Android:padding="15sp"
                Android:src="@drawable/meg" />

            <View
                Android:layout_width="2sp"
                Android:layout_height="fill_parent"
                Android:layout_toLeftOf="@+id/img_Profile"
                Android:background="#203b58" />

            <ImageView
                Android:id="@+id/notification"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignParentRight="true"
                Android:layout_centerVertical="true"
                Android:padding="15sp"
                Android:src="@drawable/footer_notification" />
        </LinearLayout>
    </RelativeLayout>

    <RelativeLayout
        Android:id="@+id/reltv_Menu"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_above="@+id/reltv_footer"
        Android:layout_alignParentRight="true"
        Android:background="#ffffff"
        Android:visibility="gone">

        <ListView
            Android:id="@+id/listviewmoroption"
            Android:layout_width="200sp"
            Android:layout_height="wrap_content"
            Android:divider="#6d6d6d"
            Android:dividerHeight="1sp"></ListView>
    </RelativeLayout>
</RelativeLayout>

<FrameLayout
    Android:id="@+id/content_frame"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" />

<LinearLayout
    Android:id="@+id/left_drawer"
    Android:layout_width="wrap_content"
    Android:layout_height="match_parent"
    Android:layout_gravity="right"
    Android:background="@Android:color/white"
    Android:choiceMode="singleChoice"
    Android:orientation="vertical">

    <include layout="@layout/cust_rightnavigationdrawer" />
</LinearLayout>

2.ScreenShot

 ScreenShot

Comment puis-je aligner l'image à l'extrémité droite de la barre d'outils?

14
Deepak Rattan

Vous pouvez uniquement utiliser Android:layout_alignParentRight="true" dans RelativeLayout, et Toolbar est un simple ViewGroup. Pour réaliser l'alignement, ajoutez une RelativeLayout dans la Toolbar et déplacez la ImageView à l'intérieur:

<Android.support.v7.widget.Toolbar
        ...
        >
    <RelativeLayout
        ...>
        <com.sevenhorse.View.CircularImageView
            ...
            Android:layout_alignParentRight="true"
            ...
        />

    </RelativeLayout>

</Android.support.v7.widget.Toolbar>
21
Egor

Essayez de donner Android:layout_gravity="right"

<com.sevenhorse.View.CircularImageView
        Android:id="@+id/profile"
        Android:layout_width="40sp"
        Android:layout_height="40sp"
        Android:foregroundGravity="right"
        Android:layout_gravity="right"
        Android:layout_alignParentRight="true"
        />
13
Aditya Vyas-Lakhan

à l'intérieur, vous pouvez mettre n'importe quelle disposition comme la disposition linéaire, la disposition du cadre, cela fonctionnera bien

  • cette largeur de mise en page doit correspondre à parent

Ajoutez RelativeLayout dans la barre d’outils, puis utilisez Android:layout_alignParentRight="true" avec CircularImageView

<!--Top Toolbar-->
<Android.support.v7.widget.Toolbar
    Android:id="@+id/toolbar_top"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_alignParentTop="true"
    Android:background="#3f5e7e"
    Android:elevation="6dp"
    Android:minHeight="?attr/actionBarSize"
    Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    >

    <RelativeLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content">

        <com.sevenhorse.View.CircularImageView
            Android:id="@+id/profile"
            Android:layout_width="40sp"
            Android:layout_height="40sp"
            Android:layout_alignParentRight="true"
            Android:foregroundGravity="right"
            />
           <!-- Android:layout_centerVertical="true"-->

   </RelativeLayout>

</Android.support.v7.widget.Toolbar>
1
Pehlaj