标签: android-appcompat

AppCompat v21 Dark ToolBar风格

我希望我的ToolBar可以作为ActionBar使用,我希望它看起来像一个带有暗动作条的浅色主题.我似乎无法找到合适的组合来做到这一点.

这就是我在styles.xml中所拥有的

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="windowActionBar">false</item>

    <item name="colorPrimary">@color/my_awesome_color</item>
    <item name="android:textColorPrimary">@color/my_awesome_text_color</item>
    <item name="colorPrimaryDark">@color/my_awesome_darker_color</item>
    <item name="colorAccent">@color/accent</item>

</style> 
Run Code Online (Sandbox Code Playgroud)

和我的工具栏

 <android.support.v7.widget.Toolbar
    android:id="@+id/my_awesome_toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize" />
Run Code Online (Sandbox Code Playgroud)

目前我明白了

在此输入图像描述

我想要的是菜单项也是白色的

是否有一个优雅的解决方案或我必须为每个工具栏的项目选择自定义样式?似乎应该有.

android android-appcompat android-theme material-design android-toolbar

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

SwitchCompat抛出错误

我试图在我的片段中使用switchcompat.min支持的API是14,最大值是21.我正在尝试应用材质视图来切换所有pre lollipop android版本.但是当使用下面的代码时我得到一个错误:我该如何纠正它?

<android.support.v7.widget.SwitchCompat
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

在抛出异常的java代码中膨胀:

 @Override                                                                                       
 public View onCreateView(LayoutInflater inflater, ViewGroup container,                          
                          Bundle savedInstanceState) {                                           
     final View view = inflater.inflate(R.layout.fragment_scheduler_ui, container, false);   
Run Code Online (Sandbox Code Playgroud)

参考:http: //android-developers.blogspot.in/2014/10/appcompat-v21-material-design-for-pre.html

例外:

10-24 14:15:15.880    1561-1561/com.stackoverflow.ranjith.androidprojdel E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.stackoverflow.ranjith.androidprojdel, PID: 1561
java.lang.NullPointerException
        at android.text.Layout.getDesiredWidth(Layout.java:67)
        at android.support.v7.widget.SwitchCompat.makeLayout(SwitchCompat.java:570)
        at android.support.v7.widget.SwitchCompat.onMeasure(SwitchCompat.java:495)
        at android.view.View.measure(View.java:16497)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
        at android.view.View.measure(View.java:16497)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
        at android.view.View.measure(View.java:16497)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
        at android.view.View.measure(View.java:16497)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
        at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:327)
        at android.view.View.measure(View.java:16497)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-switch

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

Appcompat工具栏未显示导航抽屉

我试图在我的应用程序中配置以下内容:

  • 工具栏(Appcompat v7版)
  • 导航抽屉
  • Pre- Lollipop Appcompat v7材料主题

我按照这里的说明操作:http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html

但是,在主题中声明.NoActionBar之后,以及将工具栏放在布局中,我的工具栏不会显示.我最终得到的正是你在宣布没有动作栏时所期望的 - 没有动作栏.这是布局:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

<!-- Toolbar -->
<include layout="@layout/toolbar"/>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/layout_main"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <Spinner
        android:id="@+id/spinner_main"
        android:visibility="gone"
        android:textAlignment="center"
        android:gravity="center"
        android:layout_gravity="center_horizontal"
        android:entries="@array/error_loading_content_array"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

    <FrameLayout
        android:id="@+id/container"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0px"></FrameLayout>

</LinearLayout>

<fragment
    android:id="@+id/navigation_drawer"
    android:layout_width="@dimen/navigation_drawer_width"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:name=".NavigationDrawerFragment"
    tools:layout="@layout/fragment_navigation_drawer"/>
Run Code Online (Sandbox Code Playgroud)

Toolbar.xml:

<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/toolbar"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

在MainActivity.java中:

// Load view/layout
setContentView(R.layout.guidelib_activity_main);

// TODO: Toolbar not showing
mToolbar …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat navigation-drawer android-5.0-lollipop android-toolbar

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

gradle,无法展开ZIP appcompat-v7:19.0.1

我有一个android studio adn gradle导入appcompat-v7的问题.

所以这是我在src目录中的build.gradle

apply plugin: 'android'
apply plugin: 'android-apt'
def AAVersion = '3.0.1'

    android {
        compileSdkVersion 19
        buildToolsVersion "19.0.1"

        defaultConfig {
            minSdkVersion 10
            targetSdkVersion 19
            versionCode 1
            versionName "1.0"
            packageName "com.test"
        }
        buildTypes {
            release {
                runProguard false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    }

    apt {
        arguments {
            resourcePackageName android.defaultConfig.packageName
            androidManifestFile variant.processResources.manifestFile
        }
    }

    dependencies {

        // You must install or update the Support Repository through the SDK manager to use this dependency.
        // The Support Repository (separate …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat gradle android-studio

21
推荐指数
2
解决办法
4万
查看次数

在创建android项目时无法编写jarlist缓存文件

在Eclipse中创建一个android项目时,我收到错误:

[2014-03-13 15:14:36 - appcompat_v7] WARNING: unable to write jarlist cache file C:\Users\Neelakanteshwar\AndroidFirst\appcompat_v7\bin\jarlist.cache

appcompat_v7文件夹,在Eclipse项目文件夹一起创建.

任何人都可以帮我解决问题.

android android-appcompat

21
推荐指数
2
解决办法
5万
查看次数

在AppCompat中使用基于材质的对话框主题

我在我的Manifest中有一个活动,我习惯用Dialog主题设置风格.我找不到如何在AppCompat库中替换它.

  <activity
            android:name=".LoginActivity"
            android:theme="@android:styles/Theme.Holo.Dialog" 
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:label="Login" >
Run Code Online (Sandbox Code Playgroud)

有基于材料的等价物吗?

android themes android-appcompat material-design material-theme

21
推荐指数
3
解决办法
4万
查看次数

Android Studio 2.3 Beta 1 +支持25.1.0 =预览已损坏

Android Studio 2.3 Canary 3.支持库25.1.0.

布局预览完全被打破.包含支持相关视图的任何内容似乎在预览期间中断.

在所有情况下,这是堆栈的开头:

Exception Details java.lang.NoSuchFieldError: ViewBackgroundHelper   
at android.support.v7.widget.AppCompatBackgroundHelper.loadFromAttributes(AppCompatBackgroundHelper.java:46)   
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:63)   
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:56)
....
Run Code Online (Sandbox Code Playgroud)

..等等

无论布局是什么样的,我现在都会遇到这个与血腥ViewBackgroundHelper相关的问题.似乎不管是什么类型的布局或者其中有什么视图......看起来通过AppCompat的任何内容都会在预览中遇到此错误.

以前从未见过这个.以前有Android Studio 2.3 Canary 2 +支持libs 25.0.1.

好像它只是不可能永远升级的Android Studio或它的支持库没有这种类型的东西花费数小时,哎?

感谢任何提示,谢谢 -

UPDATE

看起来我不是唯一一个.发现此处记录的错误,已被许多人主演:

https://code.google.com/p/android/issues/detail?id=230183

更新2

仍然是AS 2.3 Beta的问题1.仍然无法看到我的布局.java.lang.NoSuchFieldError: ViewBackgroundHelper到处都是同样的错

android android-appcompat android-layout android-support-library android-studio

21
推荐指数
2
解决办法
3294
查看次数

如何使用appcompat v7创建卡片工具栏

我想创建一个工具栏,如下面的图像,如材料设计指南中所提出的:

在此输入图像描述

我可以通过使用具有相对布局的工具栏来实现此目的:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Toolbar/>

        <LinearLayout android:layout_marginTop="-17dp" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我不确定这是不是正确的方法.任何帮助表示赞赏.

android android-appcompat android-support-library material-design android-cardview

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

android:layout_height ="?attr/actionBarSize"不支持:design:23.0.0'library

如果我设置android:layout_height="56dp",我可以在图形布局中看到工具栏.但是,当我设置如下,

       <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/purple"
            android:gravity="center_vertical"
            android:minHeight="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">  </android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

工具栏未以图形布局显示.

Studio说它attr/actionBarSize被标记为私有.

我在用

 compile 'com.android.support:appcompat-v7:23.0.0'
 compile 'com.android.support:design:23.0.0'
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?我该怎么办呢!是的,Studio已更新.

android android-appcompat android-toolbar android-design-library

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

使用appCompat 23+创建自定义材质对话框的正确方法

好的,我真的很困惑如何使用最新的appcompat v23.0.1正确地创建自定义对话框这里有几种方法

第一种方式:

public class AddTipDialogFrag extends DialogFragment
{
 @Override
 public Dialog onCreateDialog(Bundle savedInstanceState)
    {
        int title = getArguments().getInt("title");
        AppCompatDialog dialogCompat = new AppCompatDialog(getActivity(), R.style.MyAlertDialogStyle);
        dialogCompat.setTitle(title); //doesn't work btw
        dialogCompat.setContentView(R.layout.add_tip_fragment);
        return dialogCompat;
    }
}
Run Code Online (Sandbox Code Playgroud)

第二种方式:

public class AddTipDialogFrag extends AppCompatDialogFragment
{ 
   @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        View view = inflater.inflate(R.layout.add_tip_fragment,container, false);
        int title = getArguments().getInt("title");
        getDialog().setTitle(title);
        return view;
    }
}
Run Code Online (Sandbox Code Playgroud)

两种方式似乎产生相同的结果.我个人更喜欢第一种方式,但是当连线视图边框结束时会出现涟漪效应问题,如下图所示.

涟漪效应失败

这是一个错误吗?(一定是!)我可以修复它还是应该转换到第二种方式?(这对涟漪效果很好).考虑到大多数材料对话框库使用第一种方式,这两种方法之间的最佳方法是什么?

编辑:第一种方式上的波纹故障似乎不再发生,所以我仍然不确定哪两种是正确的方式.

android android-appcompat android-dialog android-dialogfragment

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