我通过在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)
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
我想在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) 我正在尝试查看用户是否已订阅计划,如果是,请选中相应的单选按钮.
我有一组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?
当我想出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,我需要下载?
谢谢.
实际上,我将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)
你们中的某些人可以帮助我
当你输入你的用户名和密码时,我想知道在登录界面的Linkedin android应用程序中使用哪个ui视图,当你输入时,editText提示会以文本视图的形式上升?
我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实现完成的).
有两种情况,具体取决于用户在滚动时关注的项目:
Toolbar进出视差.RecyclerView将按预期滚动,但视差行为不会触发,使布局处于奇怪的中间状态.知道为什么会这样,以及如何获得正确的行为,也就是事件一直传递到CoordinatorLayout?
android parallax material-design android-recyclerview android-coordinatorlayout
material-design ×10
android ×9
angularjs ×1
java ×1
javascript ×1
parallax ×1
snackbar ×1
themes ×1
xml ×1