Questions tagged «android-5.0-lollipop»

Android Lollipop(以前称为“ Android L”)首次在Google I / O 2014上展出。最终名称在10月15日得到确认。它支持API级别21。

11
如何在Android 5中更改默认对话框按钮的文本颜色
我的应用程序中有很多警报对话框。这是默认布局,但我要在对话框中添加肯定和否定按钮。因此,按钮将获得默认的Android 5文本颜色(绿色)。我试图更改它,但没有成功。知道如何更改文字颜色吗? 我的自定义对话框: public class MyCustomDialog extends AlertDialog.Builder { public MyCustomDialog(Context context,String title,String message) { super(context); LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); View viewDialog = inflater.inflate(R.layout.dialog_simple, null, false); TextView titleTextView = (TextView)viewDialog.findViewById(R.id.title); titleTextView.setText(title); TextView messageTextView = (TextView)viewDialog.findViewById(R.id.message); messageTextView.setText(message); this.setCancelable(false); this.setView(viewDialog); } } 创建对话框: MyCustomDialog builder = new MyCustomDialog(getActivity(), "Try …

9
如何在Android Lollipop中以编程方式更改原色和强调色?
首先,这个问题提出了一个非常相似的问题。但是,我的问题有细微的差别。 我想知道的是,是否可以通过编程colorPrimary方式将主题的属性更改为任意颜色? 因此,例如,我们有: <style name="AppTheme" parent="android:Theme.Material.Light"> <item name="android:colorPrimary">#ff0000</item> <item name="android:colorAccent">#ff0000</item> </style> 在运行时,用户决定要#ccffff用作原色。当然,我无法为所有可能的颜色创建主题。 我不介意我是否必须做一些骇人听闻的事情,例如依靠Android的私有内部组件,只要它可以使用公共SDK就能工作。 我的目标是最终使ActionBar 和所有小部件都使用CheckBox来使用这种原色。

7
使用AppCompat ActionBarActivity更改状态栏颜色
在我的一项活动中,我使用更改了工具栏的颜色Palette。但在使用5.0的设备ActionBarActivity的status bar颜色的颜色我colorPrimaryDark我的活动主题,所以我有2种非常不同的颜色和它看起来并不好。 我意识到在5.0中您可以使用,Window.setStatusBarColor()但ActionBarActivity没有此功能。 所以我的问题是在5.0中如何更改状态栏的颜色ActionBarActivity?

16
棒棒糖:在statusBar后面绘制,其颜色设置为透明
我仅将主题中的以下行设置为Lollipop的statusBar颜色设置为透明: <item name="android:statusBarColor">@android:color/transparent</item> 现在我需要在它后面绘制,但是我无法在它后面绘制任何视图。我知道如何使用该windowTranslucentStatus属性,但是不想使用此属性,因为它会忽略statusBar设置为透明的颜色。

7
Android Lollipop更改导航栏颜色
在我的应用中,我需要更改底部导航栏的颜色。我看了很多帖子,但找不到解决方案。我正在使用appCompat库。 v21 / styles.xml <style name="AppTheme" parent="Theme.AppCompat.Light"> <item name="android:windowBackground">@drawable/bgpreview</item> <item name="android:colorPrimary">@color/MyColor</item> <item name="android:colorPrimaryDark">@color/MyColor</item> <item name="android:windowContentOverlay">@null</item> <item name="android:textColorPrimary">@color/MyColor</item> <item name="colorAccent">@color/MyColor</item> <!-- darker variant for the status bar and contextual app bars --> <item name="android:windowContentTransitions">true</item> <item name="android:windowAllowEnterTransitionOverlap">true</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:windowSharedElementEnterTransition">@android:transition/move</item> <item name="android:windowSharedElementExitTransition">@android:transition/move</item> <item name="windowActionBar">false</item> <item name="android:textAllCaps">false</item> </style>

8
了解RecyclerView setHasFixedSize
我在理解上有些困难setHasFixedSize()。我知道RecyclerView文档中的大小不变时,它用于优化。 那是什么意思呢?在大多数情况下,ListView尺寸几乎总是固定的。在什么情况下不是固定大小?这是否意味着它在屏幕上占据的实际空间会随着内容的增长而增加?

6
Android Statusbar图标颜色
我想知道是否可以更改状态栏图标的颜色(而不是状态栏的颜色colorPrimaryDark)。 假设我要使用以下状态栏: <item name="colorPrimaryDark">@android:color/white</item> 黑色的图标,可以吗? 谢谢。 编辑: M开发人员预览中的新增功能:windowLightStatusBar。在主题中将其翻转会告诉系统使用深色前景,这对于浅色状态栏很有用。注意,M预览似乎有一个错误,通知图标保持白色,而系统状态图标正确更改为半透明黑色。 来自:Roman Nurik Google+ 帖子

18
以编程方式更改CardView的背景颜色
所述CardView具有属性card_view:cardBackgroundColor来定义的背景颜色。此属性工作正常。 同时,没有一种可以动态更改颜色的方法。 我刚刚尝试了以下解决方案: mCardView.setBackgroundColor(...); 或在cardView内使用布局 <android.support.v7.widget.CardView> <LinearLayout android:id="@+id/inside_layout"> </android.support.v7.widget.CardView> View insideLayout = mCardView.findViewById(R.id.inside_layout); cardLayout.setBackgroundColor(XXXX); 这些解决方案不起作用,因为该卡具有cardCornerRadius。

7
在活动场景动画过渡期间,如何防止状态栏和导航栏动画?
首先,我的状态栏背景设置为深棕色,而导航栏背景则默认为黑色。我正在使用“材质”灯光主题。 我正在使用ActivityOptions.makeSceneTransitionAnimation默认过渡来开始新的活动,并且我注意到状态栏和导航栏都短暂地淡化为白色,然后又恢复为正确的颜色。 根据文档: 要获得过渡的全部效果,必须在调用和被调用活动上都启用窗口内容过渡。否则,呼叫活动将开始退出过渡,但随后您将看到一个窗口过渡(例如缩放或淡入淡出) 我getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);同时在调用和被调用活动上使用。 同样,如果将Enter转换更改为幻灯片,状态栏和导航栏都将短暂地带有白色背景的幻灯片转换。 在活动场景动画过渡期间,如何防止状态栏和导航栏动画?

10
CardView layout_width =“ match_parent”与父RecyclerView宽度不匹配
我有一个片段,其中包含一个带有layout_width =“ match_parent”的RecyclerView: <android.support.v7.widget.RecyclerView 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:layout_gravity="center" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity$PlaceholderFragment" /> RecyclerView中的项目也是CardView,它也具有layout_width =“ match_parent”: <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:id="@+id/card_view" android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="20dp" card_view:cardCornerRadius="4dp"> <TextView android:layout_gravity="center" android:id="@+id/info_text" android:layout_width="match_parent" android:gravity="center" android:layout_height="match_parent" android:textAppearance="?android:textAppearanceLarge"/> </android.support.v7.widget.CardView> 我将项目视图充气如下: public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { CardView v = (CardView) LayoutInflater.from(parent.getContext()) .inflate(R.layout.card_listitem, null, …

17
CardView在Android L中未显示阴影
我在Listview中的Cardview在Android L(Nexus 5)中没有显示阴影。同样,圆形边缘也没有正确显示。这是Listview的Adapter View的代码: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res/com.example.myapp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:cardBackgroundColor="@android:color/white" android:foreground="?android:attr/selectableItemBackground" app:cardCornerRadius="4dp" app:cardElevation="4dp" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin" > <TextView android:id="@+id/tvName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginTop="@dimen/padding_small" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:textAppearance="?android:attr/textAppearanceLarge" /> <ImageView android:id="@+id/ivPicture" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/tvName" android:layout_centerHorizontal="true" android:scaleType="fitCenter" /> <TextView …

12
Android 5.0-将页眉/页脚添加到RecyclerView
我花了一点时间试图找出一种将标头添加到的方法RecyclerView,但未成功。 这是我到目前为止所得到的: @Override protected void onCreate(Bundle savedInstanceState) { ... layouManager = new LinearLayoutManager(getActivity()); recyclerView.setLayoutManager(layouManager); LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); headerPlaceHolder = inflater.inflate(R.layout.view_header_holder_medium, null, false); layouManager.addView(headerPlaceHolder, 0); ... } 在LayoutManager似乎是处理的配置对象RecyclerView的项目。由于找不到任何addHeaderView(View view)方法,因此决定使用LayoutManager的addView(View view, int position)方法,并将标头视图添加到第一个位置以用作标头。 Aaand这就是事情变得更糟的地方: java.lang.NullPointerException: Attempt to read from field 'android.support.v7.widget.RecyclerView$ViewHolder android.support.v7.widget.RecyclerView$LayoutParams.mViewHolder' on a null object reference at android.support.v7.widget.RecyclerView.getChildViewHolderInt(RecyclerView.java:2497) at …

3
如何使用为Android 5.0(Lollipop)提供的新SD卡访问API?
背景 在Android 4.4(KitKat)上,Google限制了对SD卡的访问。 从Android Lollipop(5.0)开始,开发人员可以使用新的API,要求用户确认是否允许访问特定文件夹,如本Google-Groups帖子所述。 问题 该帖子指导您访问两个网站: https://android.googlesource.com/platform/development/+/android-5.0.0_r2/samples/Vault/src/com/example/android/vault/VaultProvider.java#258 这看起来像一个内部示例(也许稍后会在API演示中显示),但是很难理解发生了什么。 http://developer.android.com/reference/android/support/v4/provider/DocumentFile.html 这是新API的官方文档,但没有提供足够的使用方法细节。 它告诉你的是: 如果确实需要完全访问整个文档子树,请启动ACTION_OPEN_DOCUMENT_TREE以让用户选择目录。然后将得到的getData()传递到fromTreeUri(Context,Uri)以开始使用用户选择的树。 浏览DocumentFile实例树时,始终可以使用getUri()获取表示该对象的基础文档的Uri,以便与openInputStream(Uri)等配合使用。 为了简化运行KITKAT或更早版本的设备上的代码,可以使用fromFile(File)来模拟DocumentsProvider的行为。 问题 我对新API有一些疑问: 您如何真正使用它? 根据该帖子,操作系统将记住该应用已获得访问文件/文件夹的权限。您如何检查是否可以访问文件/文件夹?是否有一个函数可以向我返回我可以访问的文件/文件夹列表? 您如何在Kitkat上处理此问题?它是支持库的一部分吗? 操作系统上是否有设置屏幕,可显示哪些应用有权访问哪些文件/文件夹? 如果在同一设备上为多个用户安装了一个应用程序,会发生什么? 关于此新API还有其他文档/教程吗? 可以撤销权限吗?如果是这样,是否有意图发送到应用程序? 会在选定文件夹上递归请求权限吗? 使用权限还会允许用户根据自己的选择进行多次选择吗?还是应用程序需要明确告知意图允许哪些文件/文件夹? 在模拟器上有没有办法尝试新的API?我的意思是,它具有SD卡分区,但可以用作主要的外部存储,因此已经授予了对其的所有访问权限(使用简单权限)。 当用户用另一张SD卡替换SD卡时会发生什么?

13
创建带有支持(v21)工具栏的首选项屏幕
我在使用“首选项”屏幕上的支持库中的新“材料设计”工具栏时遇到了麻烦。 我有一个settings.xml文件,如下所示: <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="@string/AddingItems" android:key="pref_key_storage_settings"> <ListPreference android:key="pref_key_new_items" android:title="@string/LocationOfNewItems" android:summary="@string/LocationOfNewItemsSummary" android:entries="@array/new_items_entry" android:entryValues="@array/new_item_entry_value" android:defaultValue="1"/> </PreferenceCategory> </PreferenceScreen> 字符串在其他地方定义。

3
NameNotFoundException网络视图
我收到来自Crashlytics的错误消息,表明某些设备缺少com.google.android.webview。这怎么可能呢? java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.app/com.myapp.ReaderActivity}: android.view.InflateException: Binary XML file line #29: Error inflating class com.myapp.MyWebView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: android.view.InflateException: Binary XML file line #29: Error inflating class …

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.