相关疑难解决方法(0)

ActionBar徽标居中,两侧是Action项目

我怎么能让一个操作栏在中心有徽标,两边有两个动作项?

在此输入图像描述

我将使用ActionBar Sherlock.

android center graphical-logo android-actionbar

34
推荐指数
1
解决办法
3万
查看次数

选项卡在自定义布局膨胀时在操作栏上方显示

我尝试了所有Stackoverflow的其他答案中提到的所有内容,但它没有成功.这是我的代码.

actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#ffffff")));
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.actionbar_layout);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setLogo(null);
actionBar.setDisplayShowTitleEnabled(false);
View homeIcon = findViewById(android.R.id.home);
((View) homeIcon.getParent()).setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

android android-actionbar

16
推荐指数
1
解决办法
6606
查看次数

SherlockActionBar:如何针对actionBar调整CustomView

题:

我怎么能取回头衔?


这是截图(缺少标题):

在此输入图像描述

操作栏设置:

 ActionBar actionBar = getSupportActionBar();
 actionBar.setTitle("My Title");
 actionBar.setIcon(drawable.dropdown_user);

 View mLogoView = LayoutInflater.from(this).inflate(R.layout.mLogoView, null);
 actionBar.setCustomView(mLogoView);

 actionBar.setDisplayShowCustomEnabled(true);
 actionBar.setDisplayShowTitleEnabled(true);
 actionBar.setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

mLogoView.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent" >
    <ImageView
        android:id="@+id/img_merchant"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true"
        android:src="@drawable/infoflex">
</ImageView>
</RelativeLayout >
Run Code Online (Sandbox Code Playgroud)

android android-custom-view actionbarsherlock android-actionbar

14
推荐指数
1
解决办法
2万
查看次数

Android - 具有自动完成功能的searchview内部操作栏

我想构建一个具有sherlock操作栏和搜索视图的应用程序.但是,我希望此searchview具有autocompleteTextView具有的自动完成功能.是否有单独使用searchview的直接实现?或者我应该在操作栏内使用autocompleteTextView来执行此操作?我找到了几个帖子,但没有一个人在帮助我.这些帖子只讨论创建autocompleteTextView,但我希望搜索视图具有此功能.知道怎么办?

android autocompletetextview actionbarsherlock searchview

7
推荐指数
1
解决办法
1万
查看次数

动作栏中的Android中心自定义视图

尝试为我的操作栏设置自定义视图,但问题是它没有填满操作栏的整个宽度,这使得我可以使对象居中.如何在我的操作栏中设置自定义视图以填满整个操作栏?

设置我的操作栏的代码:

actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
actionBar.setCustomView(inflater.inflate(R.layout.actionbar_layout, null));
Run Code Online (Sandbox Code Playgroud)

还有我的actionbar_layout.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="wrap_content"
    android:layout_gravity="center"
    android:background="#EDEDED">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/title"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:textColor="#FFFFFF"
    android:text="Testing"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android android-custom-view android-actionbar-compat

7
推荐指数
1
解决办法
7455
查看次数

使用appcompat和工具栏时,为什么我的自定义操作栏视图"匹配父级"?

我正在操作栏中设置自定义视图.使用SDK操作栏时,它会填充操作栏的宽度,但在使用appcompat版本时则不会.使用appcompat和Toolbar时,为什么我的线性布局不会填充宽度?我能做些什么呢?

这是pre-appcompat的样子:

在此输入图像描述

这就是appcompat的样子.(红色显示我的自定义视图的范围.):

在此输入图像描述

编辑:这是使用@Seidan的显式布局参数提示的样子.(显示应该是白色的黑色文字):

在此输入图像描述

这是我的自定义布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:background="#800"
    >

    <FrameLayout
        android:id="@+id/actionbar_discard"
        style="?attr/actionButtonStyle"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        >

        <TextView
            style="?android:actionBarTabTextStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:drawableLeft="@drawable/ic_close_white_24dp"
            android:drawablePadding="8dp"
            android:gravity="center_vertical"
            android:paddingRight="20dp"
            android:text="@string/actionbar_cancel" />
    </FrameLayout>

    <FrameLayout
        android:id="@+id/actionbar_done"
        style="?attr/actionButtonStyle"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" >

        <TextView
            style="?android:actionBarTabTextStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:drawableLeft="@drawable/ic_check_white_24dp"
            android:drawablePadding="8dp"
            android:gravity="center_vertical"
            android:paddingRight="20dp"
            android:text="@string/actionbar_done" />
    </FrameLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

以下是我设置操作栏的方法:

ActionBar ab = getSupportActionBar();
ab.setDisplayHomeAsUpEnabled(false);
ab.setDisplayOptions(
        ActionBar.DISPLAY_SHOW_CUSTOM,
        ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);
ab.setCustomView(R.layout.actionbar_discard_done);
Run Code Online (Sandbox Code Playgroud)

appcompat-v7:22.0.0和新的appcompat-v7:22.1.0都出现此问题.

android android-appcompat material-design

7
推荐指数
1
解决办法
3658
查看次数

使Android ActionBar的ActionView的宽度与ActionBar的宽度相匹配

我想显示一个总是在我的扩展中的AutoCompleteTextViewActionBar.这是我的菜单xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/visibility_menu_search"
        android:icon="@drawable/ic_action_search"
        android:showAsAction="always"
        android:actionLayout="@layout/visibility_search" />
</menu>
Run Code Online (Sandbox Code Playgroud)

这是我的 layout/visibility_search.xml

<AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/visibility_search_auto_complete_text_view" />
Run Code Online (Sandbox Code Playgroud)

这是我的活动:

public class VisibilityActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(layout.visibility_activity);
        getActionBar().setDisplayShowTitleEnabled(false);
    }

    @Override
     public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.visibility, menu);
        return super.onCreateOptionsMenu(menu);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用,showAsAction="always"因为我希望AutoCompleteTextView始终可见(这将是唯一的东西ActionBar).

AutoCompleteTextView总是在右边对齐ActionBar,只有100px的宽度.为什么是这样?

更新

感谢Atul O Holic的回答,我为我的案例找到了一个首选解决方案,它根本不需要任何特殊逻辑.我要离开我的答案是正确的,因为它适用于一般情况下,但对于我的具体情况,一个SearchView是更好,更容易.

android android-actionbar searchview

1
推荐指数
1
解决办法
4508
查看次数