Questions tagged «android-appcompat»

App Compat支持库程序包包含几个可以包含在您的应用程序中的库。这些库均支持特定范围的Android平台版本和功能集。

8
创建看起来像材料设计准则的SearchView
我目前正在学习如何将我的应用程序转换为Material design,并且现在有点卡住了。我添加了工具栏,并在导航抽屉中覆盖了所有内容。我现在正在尝试创建一个类似于材料指南中的可扩展搜索: 这是我现在所能获得的,我不知道如何像上面这样进行: 这是我的菜单xml: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:icon="@android:drawable/ic_menu_search" android:title="Search" app:showAsAction="always" app:actionViewClass="android.support.v7.widget.SearchView" /> </menu> 那行得通,我得到一个菜单项,该菜单项可以扩展到SearchView,并且可以很好地过滤列表。虽然看起来与第一张图片不一样。 我尝试使用MenuItemCompat.setOnActionExpandListener(),R.id.action_search所以可以将主页图标更改为后退箭头,但这似乎不起作用。监听器中没有任何内容。即使这样行​​得通,它也不会非常接近第一张图片。 如何在新的appcompat工具栏中创建类似于材料指南的SearchView?

15
使用AppCompat-v7在操作栏/工具栏中显示图标21
我尝试了这些-但仍然看不到以前的图标: getSupportActionBar().setLogo(R.drawable.ic_launcher); getSupportActionBar().setDisplayUseLogoEnabled(true); getSupportActionBar().setIcon(R.drawable.ic_launcher); 当我使用自定义工具栏时似乎可以正常工作-但这将迫使我触摸所有布局-有更好的方法吗?

14
如何以编程方式添加按钮色调
在新的AppCompat库中,我们可以通过以下方式对按钮进行着色: <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/follow" android:id="@+id/button_follow" android:backgroundTint="@color/blue_100" /> 如何在我的代码中以编程方式设置按钮的色调?我基本上是试图根据某些用户输入来实现按钮的有条件着色。


7
如何设置Appcompat-v7工具栏(如Theme.AppCompat.Light.DarkActionBar)的样式?
我正在尝试Theme.AppCompat.Light.DarkActionBar使用新的支持库工具栏重新创建外观。 如果我选择Theme.AppCompat.Light我的工具栏将是浅的,如果我选择Theme.AppCompat它将是黑暗的。(从技术上讲,您必须使用该.NoActionBar版本,但据我所知,唯一的区别是 <style name="Theme.AppCompat.NoActionBar"> <item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style> 现在没有了,Theme.AppCompat.Light.DarkActionBar但我天真地以为自己做一个就足够了 <style name="Theme.AppCompat.Light.DarkActionBar.NoActionBar"> <item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style> 但是与此有关,我的工具栏仍然是Light主题。我已经花了几个小时尝试混合Dark(基本)主题和Light主题的不同组合,但是我找不到一个可以使除工具栏之外的所有背景都具有浅色背景的组合。 有没有办法让AppCompat.Light.DarkActionBar外观与import android.support.v7.widget.Toolbar的一样?

8
使用attr / selectableItemBackground作为背景时,如何修改波纹颜色?
我已经看到了一些SO问题,他们提供了一些可能的方法来实现我想要的。例如: 用 colorControlHighlight在styles.xml中属性。 这是我的styles-v21.xml: <style name="SelectableItemBackground"> <item name="android:colorControlHighlight">#5677FC</item> <item name="android:background">?attr/selectableItemBackground</item> </style> 而我的小部件: <TextView android:id="@+id/tv_take_photo_as_bt" android:layout_width="280dp" android:layout_height="48dp" android:text="@string/act_take_photo" style="@style/SelectableItemBackground"/> 而且它不起作用。我还尝试添加parent="Theme.AppCompat到“ SelectableItemBackground”样式,或者更改为colorControlHighlight(no android: prefix)",或更改为?android:attr/selectableItemBackground,都没有用。 backgroundTint在布局中使用属性。 所以我加android:backgroundTint="#5677FC"了TextView。仍然没用。然后,我尝试将其更改android:backgroundTintMode为src_in和src_atop,但它们从未改变。 因此,当?attr/selectableItemBackground用作背景时,如何更改波纹颜色。我只关注棒棒糖及以上。先感谢您!


5
如何从Android appcompat v7 21库实现DrawerArrowToggle
因此,既然发布了Android 5.0,我想知道如何实现动画的操作栏图标。 该库在这里实现它为我好,但由于程序兼容性V7图书馆它怎么能实现? 该库在themes.xml中引用了它 <item name="drawerArrowStyle">@style/Widget.AppCompat.DrawerArrowToggle</item> 在这种风格下 <style name="Base.V7.Theme.AppCompat" parent="Platform.AppCompat"> 更新 我使用v7 DrawerToggle实现了此功能。但是我不能定型。请帮忙 我在v7 styles_base.xml中找到了样式 <style name="Base.Widget.AppCompat.DrawerArrowToggle" parent=""> <item name="color">?android:attr/textColorSecondary</item> <item name="thickness">2dp</item> <item name="barSize">18dp</item> <item name="gapBetweenBars">3dp</item> <item name="topBottomBarArrowSize">11.31dp</item> <item name="middleBarArrowSize">16dp</item> <item name="drawableSize">24dp</item> <item name="spinBars">true</item> </style> 我将此添加到了样式中,但没有用。还添加到我的attr.xml <declare-styleable name="DrawerArrowToggle"> <!-- The drawing color for the bars --> <attr name="color" format="color"/> <!-- …


8
Android Lollipop,AppCompat ActionBar自定义视图不会占用整个屏幕宽度
因此,我刚刚将代码库更新为Lollipop,并且操作栏出现问题。我正在使用AppCompat和ActionBarActivity,并放大自定义视图。自定义视图似乎不再占据屏幕的整个宽度,在左侧留下一条细条 它过去的样子 现在的样子 这是我用来设置操作栏的代码。有人有主意吗? final ActionBar actionBar = getSupportActionBar(); if(actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowTitleEnabled(false); actionBar.setDisplayShowCustomEnabled(true); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); actionBar.setCustomView(R.layout.action_bar_content_search_custom_view); actionBar.setBackgroundDrawable(null); // actionBar.setStackedBackgroundDrawable(null); TextView title = (TextView) actionBar.getCustomView().findViewById(R.id.action_bar_title); title.setText(R.string.youtube); ImageView back = (ImageView) actionBar.getCustomView().findViewById(R.id.action_bar_back); back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); } 编辑 现在,取出自定义视图并更改背景会占用整个宽度。因此,问题在于,如何使CustomView占据ActionBar的整个宽度?

25
状态栏变为白色,并且在其后面不显示内容
我正在棉花糖上试用AppCompat。我想有一个透明的状态栏,但是它变成白色。我尝试了几种解决方案,但它们对我不起作用(透明状态栏不适用于windowTranslucentNavigation =“ false”,Lollipop:在statusBar后面绘制,其颜色设置为transparent)。这是相关的代码。 我的styles.xml <style name="Bacon" parent="Theme.Bacon"/> <style name="Theme.Bacon" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/theme_primary</item> <item name="colorPrimaryDark">@color/theme_primary_dark</item> <item name="colorAccent">@color/theme_accent</item> <item name="windowActionBar">false</item> <item name="windowActionBarOverlay">true</item> <item name="windowNoTitle">true</item> <item name="android:windowBackground">@color/background_material_light</item> </style> <style name="Theme.Bacon.Detail" parent="Bacon"/> v21 <style name="Bacon" parent="Theme.Bacon"> <item name="android:windowDrawsSystemBarBackgrounds">true</item> </style> <style name="Theme.Bacon.Detail" parent="Bacon"> <item name="android:statusBarColor">@android:color/transparent</item> </style> 活动 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" …

5
在Android 5.0的AppCompat CardView上以XML设置高程
据我了解,在预览阶段的早期,似乎没有办法仅在CardView没有Java黑客的情况下在XML上设置高程。现在正式发布了,有什么方法可以用XML做到这一点而无需编写Java代码来设置海拔高度? 我尝试card_view:cardElevation没有任何效果。我曾想过,当我将模拟器用于5.0时,一切都很好。但是现在我在实际设备上使用的是正式版本,我所有的CardViews都消失了 Pre Lollipop,效果很好。 这是我的完整xml <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:orientation="horizontal" android:layout_width="match_parent" android:id="@+id/cv1" card_view:cardElevation="4dp" android:layout_margin="6dp" card_view:cardCornerRadius="3dp" android:layout_height="match_parent">

13
CardView转角半径
有没有办法使CardView的顶部仅具有拐角半径? <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" app:cardCornerRadius="10dp" >

11
在Appcompat 21中更改工具栏颜色
我正在测试新的Appcompat 21 Material Design功能。因此,我创建了这样的工具栏: <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_my_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/> 并将其包含在我的主布局文件中。 然后像这样将其设置为supportActionBar: Toolbar toolBar = (Toolbar)findViewById(R.id.activity_my_toolbar); setSupportActionBar(toolBar); 它正在工作,但是以某种方式我无法弄清楚如何自定义工具栏。它是灰色的,上面的文字是黑色。如何更改背景和文字颜色? 我已经阅读了以下说明: http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html 我要监督什么来改变颜色? <style name="AppTheme" parent="Theme.AppCompat.Light"> <item name="android:windowActionBar" tools:ignore="NewApi">false</item> <item name="windowActionBar">false</item> </style> 编辑: 通过将以下代码行添加到主题,我能够更改背景色: <item name="colorPrimary">@color/actionbar</item> <item name="colorPrimaryDark">@color/actionbar_dark</item> 但是它们不会影响文本颜色。我想念什么?我更喜欢白色文本和白色菜单按钮,而不是黑色文本和黑色菜单按钮:

7
AppCompat工具栏上的MenuItem着色
当我将AppCompat库中的可绘制对象用于Toolbar菜单项时,着色将按预期工作。像这样: <item android:id="@+id/action_clear" android:icon="@drawable/abc_ic_clear_mtrl_alpha" <-- from AppCompat android:title="@string/clear" /> 但是,如果我使用自己的可绘制对象,或者实际上甚至将可绘制对象从AppCompat库复制到我自己的项目中,则根本不会着色。 <item android:id="@+id/action_clear" android:icon="@drawable/abc_ic_clear_mtrl_alpha_copy" <-- copy from AppCompat android:title="@string/clear" /> 在该AppCompat Toolbar库中仅对可绘制对象进行着色中是否有一些特殊的魔术?有什么办法可以将其与我自己的可绘制对象一起使用? 使用compileSdkVersion = 21和在API Level 19设备上运行此命令targetSdkVersion = 21,还使用AppCompat abc_ic_clear_mtrl_alpha_copy是abc_ic_clear_mtrl_alpha来自的png 的精确副本AppCompat 编辑: 着色基于我android:textColorPrimary在主题中设置的值。 例如<item name="android:textColorPrimary">#00FF00</item>会给我绿色的颜色。 屏幕截图 使用AppCompat的drawable可以按预期进行着色 着色不适用于从AppCompat复制的drawable

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.