将自定义 ActionBar 重力设置为 RIGHT

阿里瑞扎吡

abs_layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parentlay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/mytext"
        style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:gravity="right"
        android:text="test"
        android:textColor="#474545"
        android:textSize="18sp" />

</LinearLayout>

当我使用此代码设置自定义 ActionBar 时,一切正常,它显示在右侧:

    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    getSupportActionBar().setCustomView(R.layout.abs_layout);

但是,当我尝试使用 inflater 更改自定义 Actionbar 上的 textview 平铺时,文本会留在左侧:

   LayoutInflater mInflater = getLayoutInflater();

    View mCustomView = mInflater.inflate(R.layout.abs_layout, null);
    TextView tv = mCustomView.findViewById(R.id.mytext);
    tv.setText("test");
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    getSupportActionBar().setCustomView(mCustomView);

我希望它在右侧。

安卓极客

试试这个:

样式文件

<resources>

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
</style>

 <style name="CustomTheme" parent="Theme.AppCompat.Light">

    <item name="contentInsetStart">0dp</item>
    <item name="contentInsetEnd">0dp</item>
  </style>

</resources>

custom_action_bar_layout.xml

<TableRow>

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/back"
        android:layout_gravity="center_vertical"
        android:background="@android:color/transparent"
        android:id="@+id/action_bar_back"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:gravity="center_horizontal"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textStyle="bold"
        android:padding="10dp"
        android:layout_alignParentTop="true"
        android:layout_weight="1"
        />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/forward"
        android:id="@+id/action_bar_forward"
        android:layout_gravity="center_vertical"
        android:background="@android:color/transparent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />


      </TableRow>

   </TableLayout>

Android 自定义操作条码

package com.journaldev.customactionbar;

import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    getSupportActionBar().setDisplayShowCustomEnabled(true);
    getSupportActionBar().setCustomView(R.layout.custom_action_bar_layout);
    View view =getSupportActionBar().getCustomView();

    ImageButton imageButton= (ImageButton)view.findViewById(R.id.action_bar_back);

    imageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
        }
    });

    ImageButton imageButton2= (ImageButton)view.findViewById(R.id.action_bar_forward);

    imageButton2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(getApplicationContext(),"Forward Button is clicked",Toast.LENGTH_LONG).show();
        }
    });
}

}

注意:在 AndroidManifest.xml 的 application 标签内添加以下行。

  android:theme="@style/CustomTheme"

它可以帮助你

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何设置自定义ActionBar的颜色/样式?

来自分类Dev

ActionBar设置区域的自定义背景色

来自分类Dev

无法设置ActionBar的自定义背景颜色

来自分类Dev

将自定义颜色的按钮设置为禁用的样式

来自分类Dev

如何将自定义颜色设置为WindowBackground

来自分类Dev

在OpenCv中将自定义模型设置为CvSVM

来自分类Dev

如何将自定义标记设置为自定义视图?

来自分类Dev

将自定义属性定义为数据对象

来自分类Dev

将自定义布局添加到ActionBar / Toolbar中,不留空白

来自分类Dev

将自定义主题应用于PreferenceFragment中的ActionBar

来自分类Dev

将自定义下拉微调器添加到Actionbar sherlock中的操作项/溢出

来自分类Dev

将自定义主题应用于PreferenceFragment中的ActionBar

来自分类Dev

将自定义图像显示为geom_point

来自分类Dev

将自定义TextWriterTraceListener配置为web.config

来自分类Dev

将自定义格式解析为DateTime

来自分类Dev

将自定义TextWriterTraceListener配置为web.config

来自分类Dev

在没有ActionBarSherlock的情况下在Actionbar ShareActionProvider上设置自定义共享图标

来自分类Dev

将自定义对象的每个属性类型设置为not_analyzed

来自分类Dev

Fabric.js:如何将自定义大小设置为Text或IText?

来自分类Dev

如何在Rails中将自定义环境设置为默认环境?

来自分类Dev

如何将自定义TaskScheduler设置为默认任务

来自分类Dev

将自定义按钮设置为单元小部件会消耗大量时间

来自分类Dev

将自定义命令设置为以编程方式创建的按钮

来自分类Dev

如何将自定义Controltemplate设置为整个应用程序的默认值?

来自分类Dev

Swift:如何将自定义UICollectionViewCell设置为圆?

来自分类Dev

如何将自定义搜寻栏的ProgressDrawable大小设置为小于ProgressBackground

来自分类Dev

将自定义图像设置为UIBarButtonItem,但不显示任何图像

来自分类Dev

我无法在reactjs中将自定义样式设置为antd Date Picker

来自分类Dev

如何将自定义样式设置为Anted Rate Component

Related 相关文章

  1. 1

    如何设置自定义ActionBar的颜色/样式?

  2. 2

    ActionBar设置区域的自定义背景色

  3. 3

    无法设置ActionBar的自定义背景颜色

  4. 4

    将自定义颜色的按钮设置为禁用的样式

  5. 5

    如何将自定义颜色设置为WindowBackground

  6. 6

    在OpenCv中将自定义模型设置为CvSVM

  7. 7

    如何将自定义标记设置为自定义视图?

  8. 8

    将自定义属性定义为数据对象

  9. 9

    将自定义布局添加到ActionBar / Toolbar中,不留空白

  10. 10

    将自定义主题应用于PreferenceFragment中的ActionBar

  11. 11

    将自定义下拉微调器添加到Actionbar sherlock中的操作项/溢出

  12. 12

    将自定义主题应用于PreferenceFragment中的ActionBar

  13. 13

    将自定义图像显示为geom_point

  14. 14

    将自定义TextWriterTraceListener配置为web.config

  15. 15

    将自定义格式解析为DateTime

  16. 16

    将自定义TextWriterTraceListener配置为web.config

  17. 17

    在没有ActionBarSherlock的情况下在Actionbar ShareActionProvider上设置自定义共享图标

  18. 18

    将自定义对象的每个属性类型设置为not_analyzed

  19. 19

    Fabric.js:如何将自定义大小设置为Text或IText?

  20. 20

    如何在Rails中将自定义环境设置为默认环境?

  21. 21

    如何将自定义TaskScheduler设置为默认任务

  22. 22

    将自定义按钮设置为单元小部件会消耗大量时间

  23. 23

    将自定义命令设置为以编程方式创建的按钮

  24. 24

    如何将自定义Controltemplate设置为整个应用程序的默认值?

  25. 25

    Swift:如何将自定义UICollectionViewCell设置为圆?

  26. 26

    如何将自定义搜寻栏的ProgressDrawable大小设置为小于ProgressBackground

  27. 27

    将自定义图像设置为UIBarButtonItem,但不显示任何图像

  28. 28

    我无法在reactjs中将自定义样式设置为antd Date Picker

  29. 29

    如何将自定义样式设置为Anted Rate Component

热门标签

归档