标签: material-design

右抽屉 - 如何添加工具栏按钮?

我通过在GitHub的一个简单测试项目中添加工具栏和右侧抽屉,扩展了着名的Google 导航抽屉示例:

应用截图

如何在工具栏中添加"汉堡"按钮 - 这将打开正确的抽屉(目前只能用手指轻扫)?

左侧抽屉的"汉堡"按钮已经存在并运行良好(可能是由ActionBarDrawerToggle添加的?)

这是我当前的activity_main.xml:

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

    <LinearLayout 
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.Toolbar 
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

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

    </LinearLayout>

    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice" />

    <ListView
        android:id="@+id/right_drawer"
        android:layout_width="160dp"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:choiceMode="singleChoice" />

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

这是MainActivity.java:

public class MainActivity extends AppCompatActivity {
    private Toolbar mToolbar;
    private DrawerLayout mDrawerLayout;
    private ListView mDrawerList;
    private ListView mActionList;
    private ActionBarDrawerToggle mDrawerToggle;

    private String[] mPlanetTitles;
    private String[] mActions;
    private int[] …
Run Code Online (Sandbox Code Playgroud)

android android-layout material-design android-toolbar android-drawer

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

如何做出径向反应?

在这里,按钮触摸后,它下面画一个圆圈.如何实现这个?

在此输入图像描述

android android-animation material-design

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

如何在Material Design中设置Roboto字体(最佳实践)

我想在Material Design中设置Roboto字体.我应该像以前一样在资源文件夹中添加字体.我知道如何将自定义字体设置为任何视图,但想要用于Material Design.我的应用程序将用于Android 3.0及更高版本.

我一直在使用以下来使用自定义字体

public static Typeface getTypeFace() {
    if (fromAsset == null) {
        fromAsset = Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Medium.ttf");
    }
    return fromAsset;
}
Run Code Online (Sandbox Code Playgroud)

android material-design

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

md-radio-button无法识别ng-checked

我正在尝试查看用户是否已订阅计划,如果是,请选中相应的单选按钮.

我有一组md单选按钮,我用ng-repeat创建:

          <md-radio-group class="md-primary" ng-model="plan">

        <div flex ng-repeat="planInfo in plans" class="plan-options">
          <md-radio-button value="{{planInfo._id}}" name="plan" class="md-primary" ng-checked="hasPlanID == planInfo._id" required>

            <h2 class="plan-name">{{planInfo.name}}</h2>

            <h3 class="plan-price">${{planInfo.price}}</h3>

          </md-radio-button>
        </div>

      </md-radio-group>
Run Code Online (Sandbox Code Playgroud)

我有一个服务,从数据库中获取所有计划:

      //check to see if user already has a plan
  MyService.GetPlan(currentUser.username).then(function (response) {
    if (response.success) {
      //This does resolve correctly
      $scope.hasPlanID = response.data.plan;

      MyService.GetAllPlans().then(function (response) {
        if (response.success) {
          //plans display properly
          $scope.plans = response.data;
        } else {
          $log.debug(response.message);
        }
      });
    } else {
      $log.debug(response.message);
    }
  });
Run Code Online (Sandbox Code Playgroud)

请注意HTML中的ng-checked属性.当我查看Chrome的检查器时,它会完全吐出您在代码中看到的内容,ng-checked ="hasPlanID == planInfo._id".

如何让它识别变量值并将实际表达式解析为true或false?

javascript angularjs material-design

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

是否有<CardView>标签,类似于<android.support.v7.widget.CardView>?

当我想出Material Style时,我错过了我必须为Card View添加支持库依赖项的部分.相反,我使用了一个简单的标签.

它没有提高和错误,甚至设计预览显示卡.但是当我在我的Android设备上运行应用程序时,它崩溃并发出错误:

"引起:java.lang.ClassNotFoundException:路径上没有找到类"android.view.CardView":DexPathList [[zip file"/data/app/com.mycompany.myfirstapp-2/base.apk"], nativeLibraryDirectories = [/ vendor/lib,/ system/lib]]在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)"

我的Android Studio是最新的,为什么我会收到此错误?是否有我缺少的其他API,我需要下载?

谢谢.

java xml android material-design android-cardview

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

类AppCompatActivity中的getSupportActionBar不能应用于android.support.v7.widget.Toolbar

实际上,我将Android应用程序更改为材料设计时出现问题.

我尝试调用getSupportActionbar,但我总是收到错误

getSupportActionBar in class AppCompatActivity cannot be applied to android.support.v7.widget.Toolbar
Run Code Online (Sandbox Code Playgroud)

我的代码是

import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

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

    mToolbar = (Toolbar) findViewById(R.id.toolbar);

    getSupportActionBar(mToolbar);

    getSupportActionBar().setDisplayShowHomeEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)

在getSupportActionBar(mToolbar)中抛出错误.

工具栏在toolbar.xml中声明

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
local:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
Run Code Online (Sandbox Code Playgroud)

你们中的某些人可以帮助我

android android-appcompat android-actionbar material-design

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

设计日期选择器,如在Android L中的时钟中找到

结果我想实现

我正在开发一个应用程序,我想把日期选择器放在下面(我在android L的时钟应用程序中看到).谁知道如何实现它?或者是否存在实施此项目的图书馆或项目?

android material-design android-5.0-lollipop

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

来自EditText动画的TextView就像在LinkedIn上一样

当你输入你的用户名和密码时,我想知道在登录界面的Linkedin android应用程序中使用哪个ui视图,当你输入时,editText提示会以文本视图的形式上升?

user-interface android themes material-design

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

当用户在别处进行交互时如何解除Snackbar?

当用户在其他地方进行互动时如何解除Snackbar,例如Gmail应用程序在用户滚动时点击Snackbars,点击其他地方,离开活动等的方式.

Material Design中也提到了这种行为:

在此输入图像描述

android material-design snackbar android-snackbar

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

CoordinatorLayout中嵌套的RecyclerViews

View现在正在处理的应用程序中存在层次结构问题.

其中一个屏幕看起来像这样:

<CoordinatorLayout>

    <AppBarLayout>
        <Toolbar/>
    </AppBarLayout>

    <RecyclerView>
        ... items, some of which are horizontal Recyclers...
    </RecyclerView>

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

整个想法是Toolbar在向下滚动RecyclerView内容时很好地拥有视差.

整个过程工作得很好,但是提到的视差行为存在问题(这是通过自定义AppBarLayout.ScrollingViewBehavior实现完成的).

有两种情况,具体取决于用户在滚动时关注的项目:

  1. 如果一个正常的孩子聚焦,整个事情就像预期的那样 - Toolbar进出视差.
  2. 如果聚焦基于Recycler的孩子,内容RecyclerView将按预期滚动,但视差行为不会触发,使布局处于奇怪的中间状态.

知道为什么会这样,以及如何获得正确的行为,也就是事件一直传递到CoordinatorLayout

android parallax material-design android-recyclerview android-coordinatorlayout

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