标签: android-support-design

如何从支持设计库向Nav Drawer添加计数器

我需要在NavigationDrawer的字段中添加一个计数器nav_films_been_wathced,但我找不到如何正确地执行此操作.我正在使用 com.android.support:design:23.0.1

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

我的menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group
        android:id="@+id/group_top"
        android:checkableBehavior="single">
        <item
            android:id="@+id/nav_main"
            android:icon="@drawable/ic_home"
            android:title="@string/nav_main" />
        <item
            android:id="@+id/nav_films_been_wathced"
            android:icon="@drawable/ic_films"
            android:title="@string/nav_films_been_wathced" />
    </group>

    <group
        android:id="@+id/group_bottom"
        android:checkableBehavior="none">
        <item
            android:id="@+id/nav_about"
            android:icon="@drawable/ic_info"
            android:title="@string/nav_about" />
    </group>

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

android navigation-drawer android-support-design

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

Android RatingBar ratingBarStyleSmall仅显示完整/填充星标

它甚至没有显示任何半星!当然,我已准备好所有其他问题,它们没有任何魔法,我没有尝试过.

我尝试改变风格ratingBarStyle,有半星但当然,正常尺寸RatingBar不符合我的要求.

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <RatingBar
            android:id="@+id/ratingBar2"
            style="?android:attr/ratingBarStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:isIndicator="true"
            android:backgroundTint="@color/colorAccent"
            android:progressTint="@color/colorAccent"
            android:secondaryProgressTint="@color/colorAccent"
            android:numStars="5"
            android:rating="3.3"
            android:stepSize="0.1"/>
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我的Java代码:

ratingBar.setStepSize(0.1f);
ratingBar.setRating(3.5f);
Run Code Online (Sandbox Code Playgroud)

结果我看到:
在此输入图像描述

我正在使用Android支持版本23.4.0.我compileSdkVersiontargetSdkVersion都是23.我正在Android 5.0设备上进行测试.

android ratingbar android-support-library android-support-design

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

滚动向上而不是向下滚动时,BottomNavigationView会隐藏

BottomNavigationView向下滚动时,支持库v25.0.0中的新内容应该隐藏,以便查看列表中的所有项目.但是,在我的测试场景中,视图在向上滚动时隐藏.什么可以导致这种反向行为的想法?

inner_fragment被设置为插入activity_main_framelayout_contentFramelayout 内的片段.XML布局如下:

main_activity.xml:

<android.support.design.widget.CoordinatorLayout
        android:id="@+id/activity_main_coordinatorlayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
            android:id="@+id/activity_main_appbarlayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
                android:id="@+id/activity_main_toolbar"
                android:layout_height="?attr/actionBarSize"
                android:layout_width="match_parent"
                android:background="?attr/colorPrimary"
                app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                app:layout_scrollFlags="scroll|enterAlways">

            <include layout="@layout/activity_main_spinner_layout"/>
        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.AppBarLayout>

    <FrameLayout
            android:id="@+id/activity_main_framelayout_content"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:fitsSystemWindows="true"/>
</android.support.design.widget.CoordinatorLayout>

<android.support.design.widget.NavigationView
        android:id="@+id/activity_main_framelayout_navigation_drawer"
        android:layout_width="@dimen/drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:background="@color/color_black_700"/>
Run Code Online (Sandbox Code Playgroud)

inner_fragment.xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:app="http://schemas.android.com/apk/res-auto"
             android:layout_width="match_parent"
             android:layout_height="match_parent">

    <FrameLayout
            android:id="@+id/inner_fragment_framelayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    <android.support.design.widget.BottomNavigationView
            android:id="@+id/inner_fragment_bottom_navigation_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            app:menu="@menu/inner_fragment"
            app:itemBackground="@drawable/bg_bottom_navigation"
            app:itemIconTint="@color/ic_bottom_navigation"
            app:itemTextColor="@color/ic_bottom_navigation"/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-support-library android-support-design

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

AAPT:错误:找不到资源android:attr / fontVariationSettings和资源android:attr / ttcIndex

我目前正在处理一个android项目,因此当我将该项目从android targetSdkVersion21 升级到27时,该项目将无法正常工作。因此,如果有人可以帮助我解决该问题。我正在使用Mac OS 10.12。

这个app/build.gradle

    apply plugin: 'com.android.application'
    apply plugin: 'org.greenrobot.greendao'

    android {
     compileSdkVersion 27
    buildToolsVersion "27.0.3"
    defaultConfig {
        applicationId "ma.oujda.ifdose"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.1"
        vectorDrawables.useSupportLibrary = true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

    greendao {
    targetGenDir 'src/main/java'
     }

    dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations' …
Run Code Online (Sandbox Code Playgroud)

java android android-support-library android-gradle-plugin android-support-design

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

BottomNavigationView不存在

我正在尝试将Navigationeditor与底部导航视图一起使用,但是似乎bottomnavigationview只会引起问题。

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <fragment
        android:id="@+id/nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/bottom_navigation"
        app:defaultNavHost="true"
        app:navGraph="@navigation/nav_graph"
        />

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="0dp"
        android:layout_marginEnd="0dp"
        android:background="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/navigation" />

</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

这是gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.wedding.rashmilind"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar']) …
Run Code Online (Sandbox Code Playgroud)

android android-support-design bottomnavigationview

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

如何从android.support.design设置FloatingActionButton的样式

我正在尝试为android.support.design的FloatingActionButton添加一个更明显的焦点效果.

到目前为止,我已经测试过为按钮添加自定义背景:

 <android.support.design.widget.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_done_24dp"
            android:background="@drawable/focus_gold"
            app:backgroundTint="#F7A200"
            app:pressedTranslationZ="12dp" />
Run Code Online (Sandbox Code Playgroud)

可绘制的focus_gold为:

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_focused="true" android:drawable="#ff9800"/>
 </selector>
Run Code Online (Sandbox Code Playgroud)

结果如下(红色背景正常):

聚焦: 聚焦

重点: 重点

有没有人有想法用这个库在fab按钮上设置一个漂亮而简单的焦点效果?

谢谢,

文森特

android material-design android-support-design

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

android.support.design.widget.NavigationView通胀问题(目标api 23,min api 10)

我正在使用eclipse,以前只使用android-support-v7-appcompt罚款.目标API 23使用最小的API 10.我想开始更新一些UI,所以我抓住了android-support-design库并决定从这里开始使用NavigationView(http://www.android4devs.com/2015/) 06/navigation-view-material-design-support.html).

起初我在主要活动android.support.design.widget.NavigationView的膨胀期间遇到错误,因为它找不到资源,因为我有android.support.design库没有针对API 23.我修复了这个问题在相同的通货膨胀期间我仍处于最新错误状态,看起来无法找到android.support.design.internal.NavigationMenuView.

这是在运行API 19的模拟器中(api 23英特尔模拟器最后我没有尝试加载).我在所有项目(设计,appcompat,我的基础库中使用我的ndk/java混合代码,顶层项目构建我的apk)中添加了一堆保护,所以我可以根据我的数据使用不同的apk.

到目前为止,这导致过去两天失去了许多小时,没有任何收获.截至昨天,这两个支持库都是最新的.我仍在使用eclipse,因为几个月前我试图转换为Android Studio它破坏了我的整个目录结构,并且不会构建我的所有ndk库(有一些)因此我没有时间研究Android Studio一段时间,并不是说我会在这里帮助我.

我的主要活动开始:

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    try{
    setContentView(R.layout.activity_main);
    }
    catch (Exception e) {
        e.printStackTrace();
    }
....
Run Code Online (Sandbox Code Playgroud)

这是捕获的堆栈跟踪的打印输出

11-22 15:01:30.394: W/dalvikvm(4312): Unable to resolve superclass of Landroid/support/design/internal/NavigationMenuView; (1893)
11-22 15:01:30.394: W/dalvikvm(4312): Link of class 'Landroid/support/design/internal/NavigationMenuView;' failed
11-22 15:01:30.824: W/System.err(4244): android.view.InflateException: Binary XML file line #28: Error inflating class android.support.design.widget.NavigationView
11-22 15:01:30.824: W/System.err(4244):     at android.view.LayoutInflater.createView(LayoutInflater.java:621)
11-22 15:01:30.824: W/System.err(4244):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
11-22 15:01:30.824: W/System.err(4244):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:756)
11-22 …
Run Code Online (Sandbox Code Playgroud)

eclipse android android-support-design

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

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
查看次数

两个RecyclerView依赖项之间有什么区别?

我正在使用以下内容RecyclerView

<androidx.recyclerview.widget.RecyclerView ... />
Run Code Online (Sandbox Code Playgroud)

在以下方面具有以下依赖性build.gradle

implementation 'androidx.recyclerview:recyclerview:1.0.0'
Run Code Online (Sandbox Code Playgroud)

点击android studio RecyclerViewin Design模式前面的下载按钮后下载。我运行我的应用程序Oreo,它运行完美。

但是,当我在上运行该应用程序时KitKat,该应用程序被终止,因此我注释掉了RecyclerView及其相关的源代码,然后再次运行该应用程序,这次应用程序在上正确运行KitKat,因此我意识到问题出RecyclerView在该KitKat版本。

现在我做了一些研究,发现我必须使用:

implementation 'com.android.support:recyclerview-v7:28.0.0'
Run Code Online (Sandbox Code Playgroud)

和以下xml标签:

<android.support.v7.widget.RecyclerView ... />
Run Code Online (Sandbox Code Playgroud)

现在我的问题是

<androidx.recyclerview.widget.RecyclerView ... />
implementation 'androidx.recyclerview:recyclerview:1.0.0'
Run Code Online (Sandbox Code Playgroud)

<android.support.v7.widget.RecyclerView ... />
implementation 'com.android.support:recyclerview-v7:28.0.0'
Run Code Online (Sandbox Code Playgroud)

哪一个是为哪个目的而创建的,哪个应该在哪种情况下使用?为什么android studio会下载不支持的版本,KitKat而不是下载几乎先前版本的android所支持的版本?谢谢!!!

android android-support-library android-recyclerview android-support-design

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

com.android.support:design:28.0.0 - Version 28 is the last version of the legacy support library

In my android project in xml I try to use com.google.android.material.textfield.TextInputEditText

like this:

        <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/editTextEmail"
                style="@style/textTextViewStyle"
                android:layout_width="0dp"
                android:layout_height="@dimen/min_height"
                android:layout_margin="@dimen/default_margin"
                android:hint="@string/email"
                android:inputType="textEmailAddress"
                android:padding="@dimen/half_default_margin"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewAppName" />
Run Code Online (Sandbox Code Playgroud)

in gradle.properties

android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)

In app/build.gradle:

android {
    dataBinding {
        enabled = true
    }
    compileSdkVersion 29
    defaultConfig {
        applicationId "com.myapp"
        minSdkVersion 23
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.android.support:design:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
Run Code Online (Sandbox Code Playgroud)

but I get …

android material-design android-support-design material-components-android androidx

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