使用appcompat自定义操作栏布局

巧克力

我有一个应用程序,带有一个包含3个imageView的操作栏,我正在为此使用appcompat库,这是代码:

private void setupActionBar() {

     // Inflate a "Done/Cancel" custom action bar view.
      final LayoutInflater inflater = (LayoutInflater) this
          .getSupportActionBar().getThemedContext()
          .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      final View customActionBarView = inflater.inflate(
          R.layout.my_custom_actionbar, null);
      customActionBarView.findViewById(R.id.title);



    final ActionBar actionBar = this.getSupportActionBar();
      actionBar.setDisplayOptions(
          ActionBar.DISPLAY_SHOW_CUSTOM, ActionBar.DISPLAY_SHOW_CUSTOM | 
          ActionBar.DISPLAY_SHOW_HOME | 
          ActionBar.DISPLAY_SHOW_TITLE);

      actionBar.setCustomView(customActionBarView, 
              new ActionBar.LayoutParams(
                  ViewGroup.LayoutParams.MATCH_PARENT, 
                  ViewGroup.LayoutParams.MATCH_PARENT
              )
             );
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray" >


<FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="fill_horizontal" >


    <ImageView
        android:id="@+id/facebook"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center_vertical"
        android:src="@drawable/ic_fb" />

    <ImageView
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right|center"
        android:src="@drawable/ic_hotels" />

     <ImageView    
         android:id="@+id/tweetter"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:src="@drawable/ic_tweet" 
      />
      </FrameLayout>
      </RelativeLayout>

自定义操作栏已加载,没有问题,但我无法获得正确的布局 在此处输入图片说明

我试图在XML文件中进行一些更改,但没有成功。那我忘记了什么?

弗洛

当我尝试按照您发布的代码进行编码时,我得到以下结果:

 ________________________________
|                                |  
| facebook     tweeter      logo | 
|________________________________|  

然后,我猜这些layout_gravity属性是错误的。同样,您似乎向右和向左反转。FrameLayout似乎是在你的情况没用( -我等待你的回答我的意见是肯定)此布局可以实现您想要的:

<?xml version="1.0" encoding="utf-8"?>
<!-- Use fill_horizontal to get the whole actionbar
And center_vertical gravity on all the child views -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/gray"
    android:layout_gravity="fill_horizontal"
    android:gravity="center_vertical" >

    <!-- Use layout_alignParentRight attribute -->
    <ImageView
        android:id="@+id/facebook"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_fb"
        android:layout_alignParentRight="true" />

    <!-- Use layout_alignParentLeft attribute -->
    <ImageView
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_hotels"
        android:layout_alignParentLeft="true" />

    <!-- Use layout_toLeftOf (id) attribute -->
    <ImageView    
        android:id="@+id/tweetter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_tweet"
        android:layout_toLeftOf="@id/facebook" />

</RelativeLayout>  

我得到以下输出:

 ________________________________
|                                |  
| logo         tweeter  facebook | 
|________________________________|  

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

appcompat中具有ActionBar的自定义布局会导致内容与操作栏重叠

来自分类Dev

带有API的appcompat的自定义操作栏颜色

来自分类Dev

带有API的appcompat的自定义操作栏颜色

来自分类Dev

如何在材料设计中使用appCompat自定义上下文操作栏

来自分类Dev

具有溢出菜单的自定义操作栏布局

来自分类Dev

不要填写操作栏的父自定义布局

来自分类Dev

如何使用自定义操作栏?

来自分类Dev

使用自定义 ActionBar 布局创建 AppCompat 主题

来自分类Dev

(Android Studio)自定义操作栏布局未填充整个操作栏

来自分类Dev

如何在Android中使用自定义布局处理操作栏中的项目和标签事件?

来自分类Dev

自定义布局或搜索栏设计

来自分类Dev

使用appcompat和工具栏时,为什么我的自定义操作栏视图没有“匹配父项”?

来自分类Dev

Android:自定义操作栏,如何使用整个宽度?

来自分类Dev

使用自定义视图作为操作栏图标

来自分类Dev

扩大自定义布局时,标签会出现在操作栏上方

来自分类Dev

创建自定义操作标签栏

来自分类Dev

如何自定义操作栏

来自分类Dev

使用自定义布局使用搜索栏更改Listview文本大小

来自分类Dev

Zxing使用自定义布局

来自分类Dev

对自定义视图使用约束布局

来自分类Dev

使用“侧边栏”自定义emacs

来自分类Dev

在Android中自定义标题栏。获取异常您需要使用Theme.AppCompat主题

来自分类Dev

原生脚本。如何使用 png 图像创建自定义操作栏?

来自分类Dev

如何使用子片段更改自定义操作栏中 textview 的文本

来自分类Dev

更改自定义操作栏标题

来自分类Dev

为自定义操作栏项设置onClick事件

来自分类Dev

带完成和取消按钮的自定义操作栏

来自分类Dev

在自定义操作栏中显示片段标题

来自分类Dev

Android:隐藏自定义操作栏图标

Related 相关文章

  1. 1

    appcompat中具有ActionBar的自定义布局会导致内容与操作栏重叠

  2. 2

    带有API的appcompat的自定义操作栏颜色

  3. 3

    带有API的appcompat的自定义操作栏颜色

  4. 4

    如何在材料设计中使用appCompat自定义上下文操作栏

  5. 5

    具有溢出菜单的自定义操作栏布局

  6. 6

    不要填写操作栏的父自定义布局

  7. 7

    如何使用自定义操作栏?

  8. 8

    使用自定义 ActionBar 布局创建 AppCompat 主题

  9. 9

    (Android Studio)自定义操作栏布局未填充整个操作栏

  10. 10

    如何在Android中使用自定义布局处理操作栏中的项目和标签事件?

  11. 11

    自定义布局或搜索栏设计

  12. 12

    使用appcompat和工具栏时,为什么我的自定义操作栏视图没有“匹配父项”?

  13. 13

    Android:自定义操作栏,如何使用整个宽度?

  14. 14

    使用自定义视图作为操作栏图标

  15. 15

    扩大自定义布局时,标签会出现在操作栏上方

  16. 16

    创建自定义操作标签栏

  17. 17

    如何自定义操作栏

  18. 18

    使用自定义布局使用搜索栏更改Listview文本大小

  19. 19

    Zxing使用自定义布局

  20. 20

    对自定义视图使用约束布局

  21. 21

    使用“侧边栏”自定义emacs

  22. 22

    在Android中自定义标题栏。获取异常您需要使用Theme.AppCompat主题

  23. 23

    原生脚本。如何使用 png 图像创建自定义操作栏?

  24. 24

    如何使用子片段更改自定义操作栏中 textview 的文本

  25. 25

    更改自定义操作栏标题

  26. 26

    为自定义操作栏项设置onClick事件

  27. 27

    带完成和取消按钮的自定义操作栏

  28. 28

    在自定义操作栏中显示片段标题

  29. 29

    Android:隐藏自定义操作栏图标

热门标签

归档