我希望我的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
我试图在我的片段中使用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) 我试图在我的应用程序中配置以下内容:
我按照这里的说明操作: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
我有一个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) 在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项目文件夹一起创建.
任何人都可以帮我解决问题.
我在我的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
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
我想创建一个工具栏,如下面的图像,如材料设计指南中所提出的:

我可以通过使用具有相对布局的工具栏来实现此目的:
<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
如果我设置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
好的,我真的很困惑如何使用最新的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