我在我的应用程序中使用外部库。该示例中使用的第一个参数是“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) 我正在尝试在我的按钮上应用统一的样式。
这是我的 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)
然后我将删除所有按钮上的单独样式属性
我目前正在挖掘 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
我试图从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) 使用以前版本的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
我正在将我的应用程序迁移到最新的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
我正在我的应用程序上实现材料设计,我希望能够将抽屉图标的颜色更改为白色,但我无法实现我正在寻找的东西..
这是我的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)
我想要的所有颜色都很好,但抽屉图标是黑色而不是白色..

我已经尝试了很多东西,但没有欲望的结果
非常感谢
我扩展了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)
如何将统一样式应用于所有小部件?
我正在使用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
我正在按照本教程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