标签: android-appcompat

需要 Appcompat 活动作为片段中使用的函数的参数

我在我的应用程序中使用外部库。该示例中使用的第一个参数是“this”。这是指 appcompat 活动。但是,我在片段中使用它显然不会扩展 appcompat 活动。

这是图书馆:

https://github.com/TouchBoarder/weekdays-buttons-bar

我不确定是否有什么我可以做的。我可以将片段扩展为兼容的东西吗(现在它只是扩展片段)。

下面是问题的截图:

在此输入图像描述

编辑:

这是我在 MainActivity 中扩展的内容:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Run Code Online (Sandbox Code Playgroud)

称为 innside Main 活动的 Fragment 扩展如下:

public class AddAlarmFragment extends Fragment {
Run Code Online (Sandbox Code Playgroud)

我试图在片段的 oncreate 方法中创建数据源,如下所示:

   @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
       // Inflate the layout for this fragment
       View view = inflater.inflate(R.layout.fragment_add_alarm, container, false);


        WeekdaysDataSource wds = new WeekdaysDataSource(, R.id.weekdays_stub)
                .start(this);



        new WeekdaysDataSource.Callback() {
            @Override
            public void onWeekdaysItemClicked(int attachId,WeekdaysDataItem item) {
                // Do something if …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-fragments

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

colorButtonNormal没有效果?

我正在尝试在我的按钮上应用统一的样式。

这是我的 v21/styles.xml

<style name="DefaultButton" parent="Widget.AppCompat.Button.Colored">
    <item name="android:colorButtonNormal">#f00</item>
    <item name="android:textColor">@color/colorTextSecondary</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我像这样将其应用到我的按钮上

<Button
                android:id="@+id/submit_btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginTop="@dimen/unit_large"
                style="@style/DefaultButton"
                android:text="Lemme In!" />
Run Code Online (Sandbox Code Playgroud)

这里没有什么特别的事情发生。但我的按钮的颜色没有改变。物质支持包有什么变化吗?我正在使用“25.3.1”

实际上,所有这些都是我必须做的更大努力的一部分,以更改应用程序的默认按钮样式,如下所示

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="android:buttonStyle">@style/DefaultButton</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后我将删除所有按钮上的单独样式属性

android android-appcompat android-6.0-marshmallow

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

TextAppearance.MaterialComponents.Body2 的定义?

我目前正在挖掘 Google IO 2019 android 应用程序的代码。在styles.xml第 77 行中,它说:

<style name="TextAppearance.IOSched.Body2" parent="TextAppearance.MaterialComponents.Body2" />
Run Code Online (Sandbox Code Playgroud)

但是我在哪里可以找到父级的定义TextAppearance.MaterialComponents.Body2?我的 Android Studio 中已经有本地 IO 项目,以防有助于解决该定义背后的内容。

谢谢!

android android-appcompat material-design material-components material-components-android

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

appcompat-v7依赖返回错误

我试图从android studio 0.8.1(beta)上的eclipso导入项目,并且所有事情都正确但appcompat-v7 attr上的错误相同.我有以下gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 19
buildToolsVersion '19.1.0'

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

dependencies {
    compile project(":facebook")
    compile project(":socketConnetion")
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.0.+'
    compile 'com.android.support:support-v4:20.+'
    compile 'com.google.android.gms:play-services:+'
}
Run Code Online (Sandbox Code Playgroud)

当我同步gradle时,我不断收到错误:

/Users/tiag`omissiato/AndroidstudioProjects/Get/build/intermediates/exploded-aar/com.android.support/appcompat-v7/19.0.1/res/values/values.xml
Error:(432, 21) No resource found that matches the given name: attr 'dropdownListPreferredItemHeight'.
Error:(434, 21) No resource found that matches the given name: …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-studio

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

AppCompat v7 r21改变了ActionBar标题的Alpha

使用以前版本的AppCompat,很容易获得ActionBar标题TextView并对其进行修改.

有我使用的方法:

 private TextView getActionBarTitleView() {
     int id = getResources().getIdentifier("action_bar_title", "id", "android");
     return (TextView) findViewById(id);
}
Run Code Online (Sandbox Code Playgroud)

然后更改标题的alpha值:

getActionBarTitleView().setAlpha(ratio*255);
Run Code Online (Sandbox Code Playgroud)

现在由于某些原因,使用最新的AppCompat版本的"action_bar_title"不再起作用了.当我尝试使用我的方法时,它返回"null".试图使用其他的id,ActionBar但我找不到好的.

我在Ahmed Nawara的StackOverflow上看到了1个帖子,他目前找到的唯一方法是对子Toolbar视图进行迭代,每当TexView找到a时,将它的文本值与toolbar.getTitle()进行比较,以确保在TexView我们看到的.

如果有人可以帮助我将这个解决方案整合到我的案例中,因为我实际上不知道该怎么做.

android android-appcompat android-actionbar android-support-library

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

AppCompat v21,MenuInflater和showAsAction菜单首选项

我正在将我的应用程序迁移到最新的v7支持库,并提供材料设计支持.

我有一个简单的菜单,我希望在我的菜单中显示ActionBar.

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/platformselect_button_settings"
        android:icon="@drawable/ic_action_settings"
        android:orderInCategory="1"
        android:showAsAction="always"
        android:title="@string/menu_settings"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

问题是showAsAction首选项被忽略,我必须做的是使其工作是强制onCreateOptionsMenu方法中的首选项:

@Override
public boolean onCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.platformselect_overflow_menu, menu);
    for(int i = 0;i<menu.size();i++){
        MenuItemCompat.setShowAsAction(menu.getItem(i), MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
    }
    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?为什么忽略存储在XML中的首选项?

android android-appcompat android-menu android-support-library

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

Appcombat v7工具栏,抽屉改变颜色

我正在我的应用程序上实现材料设计,我希望能够将抽屉图标的颜色更改为白色,但我无法实现我正在寻找的东西..

这是我的themes.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="AppTheme" parent="AppTheme.Base" />

    <style name="AppTheme.Base" parent="Theme.AppCompat.Light">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

    <style name="HeaderBar" parent="AppTheme.Base">
        <item name="android:textColorPrimary">@android:color/white</item>
        <item name="android:background">@color/primary</item>
        <item name="actionMenuTextColor">@android:color/white</item>
        <item name="android:textColorSecondary">@android:color/white</item>
        <item name="android:actionMenuTextColor">@android:color/white</item>
    </style>

    <style name="ActionBarPopupThemeOverlay" parent="ThemeOverlay.AppCompat.Light">
        <item name="android:background">@android:color/white</item>
        <item name="android:textColor">#000</item>
    </style>

    <style name="ActionBarThemeOverlay" parent="">
        <item name="android:textColorPrimary">#fff</item>
        <item name="colorControlNormal">#fff</item>
        <item name="colorControlHighlight">#3fff</item>
    </style>

</resources>
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/jpe.serviguide.commobile"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    app:popupTheme="@style/ActionBarPopupThemeOverlay"
    app:theme="@style/HeaderBar" />
Run Code Online (Sandbox Code Playgroud)

我想要的所有颜色都很好,但抽屉图标是黑色而不是白色..

应用程序截屏

我已经尝试了很多东西,但没有欲望的结果

非常感谢

android android-appcompat material-design

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

Appcompat主题未应用于所有窗口小部件

我扩展了Material Theme并将其应用到我的活动中.

在style.xml中

  <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="android:windowBackground">@color/bg</item>
    </style>`
Run Code Online (Sandbox Code Playgroud)

在清单中

    <application
        android:allowBackup="true"
        android:theme="@style/AppTheme"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name" >
...</application>
Run Code Online (Sandbox Code Playgroud)

我在工具栏,按钮上看到了Material Design样式,但它不适用于Pre Lollipop设备中的ImageButton,ToggleButton和Seekbar.他们出现在Holo主题中.

在我使用的gradle文件中:

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

如何将统一样式应用于所有小部件?

android android-appcompat android-theme

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

如何解决Android错误"类AppCompatActivity中的方法setSupportActionBar不能应用于给定的类型"?

我正在使用appcompat使用com.android.support:appcompat-v7:23.0.3并获得以下错误的Android应用程序.

错误:(22,9)错误:类AppCompatActivity中的方法setSupportActionBar不能应用于给定类型; 需要:android.support.v7.widget.Toolbar发现:android.widget.Toolbar原因:实际参数android.widget.Toolbar无法通过方法调用转换转换为android.support.v7.widget.Toolbar

android android-appcompat android-support-library android-actionbar-compat android-toolbar

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

Android - 应该在这里传递已解析的颜色而不是资源ID:`getResources().getColor(R.attr.colorPrimary)`

我正在按照本教程Flexibal Space with Image

对于工具栏的设计模式,在Android中使用带有Image的Flexibal Space.在Palette这里使用时,我被困在java文件中跟随错误导致应用程序崩溃.

Should pass resolved color instead of resource id here: `getResources().getColor(R.attr.colorPrimary)`
Run Code Online (Sandbox Code Playgroud)

Follwing是我的java文件YoutubeActivity.java

public class YoutubeActivity extends AppCompatActivity {

Toolbar toolbar;
CollapsingToolbarLayout collapsingToolbar;
int mutedColor = R.attr.colorPrimary;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_youtube);

    toolbar = (Toolbar) findViewById(R.id.anim_toolbar);
    setSupportActionBar(toolbar);

    collapsingToolbar = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
    collapsingToolbar.setTitle("Praval Sharma");
    ImageView header = (ImageView) findViewById(R.id.header);

    Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.header);
    Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
        @Override
        public void onGenerated(Palette palette) {
            mutedColor = …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-toolbar android-palette android-support-design

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