我在AppCompat Actionbar中包含了一个SearchView,但它的图标总是有阴影.
对于其他图标,我使用Android下载页面中没有阴影的图标,实际上我也尝试为SearchView直通分配图标android:icon="@drawable/ic_action_search"但不会更改图标.

我的研究告诉我,实际上ab_ic_search.png来自android-support-v7-appcompat.jar正在被使用而我android:icon="@drawable/ic_action_search"被忽略了.
我尝试了各种各样的方法,比如尝试替换图像onPrepareOptionsMenu(通过尝试查找ImageView)或通过自定义子类SearchView但无效.
任何想法如何解决?基本上我只想让我的图标统一,我是否必须为所有其他图标添加阴影?可能我无论如何都无法为那些"三个点"添加阴影?
你能告诉我我的代码有什么问题吗?(我打赌这是愚蠢的,但我找不到..)

我的代码:
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
switch (item.getItemId()){
case R.id.action_go_home:
//go home action
Intent i = new Intent(this, UserProfileActivity.class);
startActivity(i);
return true;
break;
case R.id.action_select_categories:
//select categories
return true;
case R.id.action_refresh:
//refresh timeline
return true;
default :
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud) 我试图在我的片段活动中显示我的操作栏菜单问题是,如果我选择(在Android工作室中)材料主题,看到操作栏菜单没有问题,但是当我在自己的手机上测试我的应用程序时(三星S5),菜单未显示.
以下是我的活动的详细信息(我只展示了它的一个子部分,有什么必要):
package avappmobile.mytasks;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Calendar;
import java.util.Locale;
/**
* Created by Alexandre on 18/02/2015.
*/
public class AddTask extends FragmentActivity implements DatePFragment.OnDatePickedListener, TimePFragment.OnTimePickedListener {
// Variables to be used
private EditText txtTaskName;
private EditText txtTaskDate;
private EditText txtTaskTime;
private String taskName;
private int taskyear;
private int taskmonth;
private int …Run Code Online (Sandbox Code Playgroud) 当我打开活动时,导航抽屉不会出现.那么有什么办法可以在一个活动中一起添加listview和actionbar吗?如果有人能帮助我,我将不胜感激.谢谢
public class Cart extends ListActivity {
ArrayAdapter<String> mAdapter;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cart);
String[] items = new String[2];
items[0] = "";
mAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
new ArrayList<String>(Arrays.asList(items)));
setListAdapter(mAdapter);
ListView listView = getListView();
SwipeDismissListViewTouchListener touchListener =
new SwipeDismissListViewTouchListener(
listView,
new SwipeDismissListViewTouchListener.DismissCallbacks() {
@Override
public boolean canDismiss(int position) {
return true;
}
@Override
public void onDismiss(ListView listView, int[] reverseSortedPositions) {
for (int position : reverseSortedPositions) {
mAdapter.remove(mAdapter.getItem(position));
}
mAdapter.notifyDataSetChanged();
}
});
listView.setOnTouchListener(touchListener);// ListView scrolling,
}
Run Code Online (Sandbox Code Playgroud) android listview android-listview android-actionbar navigation-drawer
我正在开发一个应用程序,我在其中自定义操作栏,如图所示:

我的代码如下:
// Remove all tabs from actionbar
getActionBar().removeAllTabs();
final ViewGroup actionBarLayout = (ViewGroup)getLayoutInflater().inflate(R.layout.custom_actionbar_layout, null);
// set custom layout for menus on actionbar
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_USE_LOGO);
getActionBar().setCustomView(actionBarLayout);
getActionBar().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
getActionBar().setDisplayHomeAsUpEnabled(false);
getActionBar().setLogo(R.drawable.ic_back_orange);
final TextView textViewOfActionBarHeading = (TextView) actionBarLayout.findViewById(R.id.textView_actionar_heading);
textViewOfActionBarHeading.setText("My Activity");
// Getting the reference of searchViewand TextView of searchView
SearchView searchView = (SearchView) actionBarLayout.findViewById(R.id.searchView_actionar_search);
searchView.setIconifiedByDefault(true);
final TextView search_text = (TextView) searchView.findViewById(searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null));
// Set color to TextView of searchView
search_text.setTextColor(Color.BLACK);
// Set hint to TextView of …Run Code Online (Sandbox Code Playgroud) 我正在学习如何在 Android 中实现应用程序/操作栏,我找到了添加应用程序栏Google 指南,该指南建议使用 v7 appcompat 支持库。该指南更新至 2019 年 12 月。
同时,我相信Google推荐androidx,据我了解,它与v7 appcompat支持库不兼容。
实际的 Google 标准是什么?两种选择的优缺点是什么?