所以我正在为 Android 创建一个材料设计应用程序。我使用的是新的 Toolbar 而不是 ActionBar。在一项活动中,我想在工具栏下方显示选项卡。这对纵向和横向模式都适用,但在横向模式下,选项卡居中且不覆盖视图的整个宽度。
这是设计使然还是我需要知道什么?
这是我的活动的布局:
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:height="?attr/actionBarSize"
android:background="@color/primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:titleTextAppearance="@style/ToolbarTitle"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/toolbar_tabs"
android:height="?attr/actionBarSize"
android:background="@color/primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways" />
</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)
以下代码将其初始化为onCreate:
// Set up the toolbar
this.setSupportActionBar(mToolbar);
ActionBar ab = this.getSupportActionBar();
if (ab != null)
{
ab.setDisplayHomeAsUpEnabled(true);
ab.setHomeButtonEnabled(true);
ab.setDisplayShowTitleEnabled(true);
}
// Set up the pager and tabs from the pager
mTabViewPager.setAdapter(mTabPagerAdapter);
mTabLayout.setupWithViewPager(mTabViewPager);
Run Code Online (Sandbox Code Playgroud)
这mTabPagerAdapter是一个寻呼机适配器,用于保存要由文档中的选项卡显示的页面。
我已将 menu_main.xml 膨胀为 BottomNavigationView,现在我想在选择项目时更改 BottomNavigation 中的图标。
我最难更改透明状态栏颜色下方的颜色。抽屉打开时透明度很好,但下面的颜色不对。不同的片段将具有不同的操作栏颜色。
fitsSystemWindow没有影响。
改变状态栏颜色只会让它变得更坚固。
如果我设置 alpha 较低的颜色,它只会与绿色(原色深色)混合。
发生了什么:(下面的颜色是绿色)
我想要的与游戏商店中发生的情况完全相同:
我想使用模态底部表格进行数据输入。我不希望用户能够通过触摸工作表外部来关闭它。本文介绍了如何在 Android 原生中进行。
https://medium.com/@betakuang/make-your-bottomsheetdialog-noncancelable-e50a070cdf07
如何使用颤振小部件执行此操作?
下图显示了我所追求的设计以及目前角度 15 的输出。
<div class="form-field-container">
<h3>Email</h3>
<mat-form-field appearance="outline">
<input matInput type="email" id="Email" name="Email" formControlName="email" />
</mat-form-field>
</div>
Run Code Online (Sandbox Code Playgroud)
这就是我迄今为止尝试过的风格。但这些都不起作用。即边框仍然是圆形的,并且颜色必须改变。如何使边框看起来像设计一样?
.input {
background-color: #E5ECF5 !important;
color: #001050 !important;
letter-spacing: 0.05em;
}
.mdc-text-field {
font-size: 12px;
font-weight: 500;
color: #001080 !important;
background-color: #E5ECF6 !important;
border-radius: 0px !important;
letter-spacing: 0.05em;
}
.mat-mdc-form-field-appearance-outline {
border-color: #001050 !important;
border-radius: 0px !important;
}
.mat-form-field-outline-start,
.mat-form-field-outline-end {
border-radius: 0 !important;
border-color: #001080 !important;
}
.mat-mdc-form-field-error-wrapper {
padding: 0px !important;
margin: 0px !important;
font-size: 9px;
font-family: 'Roboto';
font-weight: 600; …Run Code Online (Sandbox Code Playgroud) 我正在尝试学习android材质设计。使用工具栏,我想更改弹出菜单以及文本颜色。所以我发现可以通过添加以下代码来完成
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#CCC"
app:theme="@style/ThemeOverlay.AppCompat.Light"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
android:elevation="4dp"
>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
但是问题是app:theme和app:popupTheme无法正常工作,并且在android studio xml文件中显示错误。
我能知道些什么?
我正在使用com.android.support:appcompat-v7:23.0.0
我有一个相当大的 viewpager 应用程序,我想将其重新设计为 Material Design。我使用 Android Studio 创建了一个全新的应用程序,该应用程序除了演示有效的 viewpager、选项卡和 Material Design 之外什么都不做。新应用的外观正是我想要的。
检查新应用程序时,我发现 AS 在启用 Material Design 的中间目录中生成了大量有用的资源代码。因此,AS 首先根据我在“新项目”过程中的选择生成 src/ 代码,然后该代码中的某些内容导致构建过程生成所有这些有用的 Material Design 支持代码。
例如,生成的应用程序有一个以...开头的样式 xml。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
Run Code Online (Sandbox Code Playgroud)
如果你在 DarkActionBar 上按 ctrl-b 它会跳转到一个巨大的文件。. .
C:\Users\Gary\AndroidstudioProjects\MDShell\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.3.0\res\values\values.xml
Run Code Online (Sandbox Code Playgroud)
包含定义。我希望构建过程为我的应用程序执行相同的生成。
编辑:这是我的问题的答案......一旦我在gradle中包含以下两行,我需要的一切都会在我的应用程序中生成
编译'com.android.support:appcompat-v7:23.3.0' 编译'com.android.support:design:23.3.0'