- 浏览: 5821497 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
快速迭代用
使用到了
1:ToolBar + ShareActionProvider
2:DrawerLayout
3:ActionBarDrawerToggle
4:ViewPager + TabsLayout
主布局:
Design Support Library包含8个控件,具体如下:
android.support.design.widget.TextInputLayout 强大带提示的MD风格的EditText
android.support.design.widget.FloatingActionButton MD风格的圆形按钮,来自于ImageView
android.support.design.widget.Snackbar 类似Toast,添加了简单的单个Action
android.support.design.widget.TabLayout 选项卡
android.support.design.widget.NavigationView DrawerLayout的SlideMenu
android.support.design.widget.CoordinatorLayout 超级FrameLayout
android.support.design.widget.AppBarLayout MD风格的滑动Layout
android.support.design.widget.CollapsingToolbarLayout 可折叠MD风格ToolbarLayout
Android Design Support Library使用详解
http://www.open-open.com/lib/view/open1433496206666.html
背景模糊的Navigation Drawer。可以设置参数达到不同的模糊效果
https://github.com/charbgr/BlurNavigationDrawer
https://github.com/hugeterry/CoordinatorTabLayout
使用到了
1:ToolBar + ShareActionProvider
2:DrawerLayout
3:ActionBarDrawerToggle
4:ViewPager + TabsLayout
import android.content.Intent; import android.content.res.Configuration; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.MenuItemCompat; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.widget.ShareActionProvider; import android.support.v7.widget.Toolbar; import android.util.TypedValue; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import com.example.toolbar.widget.TabsLayout; public class MainActivity extends ActionBarActivity { private DrawerLayout mDrawerLayout; private ActionBarDrawerToggle mDrawerToggle; private ShareActionProvider mShareActionProvider; private TabsLayout tabsLayout; private ViewPager mViewPager; private Toolbar mToolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); } private void initViews() { mToolbar = (Toolbar) findViewById(R.id.toolbar); // toolbar.setLogo(R.drawable.ic_launcher); mToolbar.setTitle("Rocko");// 标题的文字需在setSupportActionBar之前,不然会无效 // toolbar.setSubtitle("副标题"); setSupportActionBar(mToolbar); /* 这些通过ActionBar来设置也是一样的,注意要在setSupportActionBar(toolbar);之后,不然就报错了 */ // getSupportActionBar().setTitle("标题"); // getSupportActionBar().setSubtitle("副标题"); // getSupportActionBar().setLogo(R.drawable.ic_launcher); /* 菜单的监听可以在toolbar里设置,也可以像ActionBar那样,通过下面的两个回调方法来处理 */ mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.action_settings: Toast.makeText(MainActivity.this, "action_settings", 0).show(); break; case R.id.action_share: Toast.makeText(MainActivity.this, "action_share", 0).show(); break; default: break; } return true; } }); getSupportActionBar().setDisplayHomeAsUpEnabled(true); /* findView */ mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, mToolbar, R.string.drawer_open, R.string.drawer_close); mDrawerToggle.syncState(); mDrawerLayout.setDrawerListener(mDrawerToggle); tabsLayout = (TabsLayout) findViewById(R.id.tabs); mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())); tabsLayout.setViewPager(mViewPager); tabsLayout.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { // colorChange(arg0); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); initTabsValue(); } /** 设备配置改变时 */ @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); mDrawerToggle.onConfigurationChanged(newConfig); } /** * mPagerSlidingTabStrip默认值配置 * */ private void initTabsValue() { // 底部游标颜色 tabsLayout.setIndicatorColor(Color.BLUE); // tab的分割线颜色 tabsLayout.setDividerColor(Color.TRANSPARENT); // tab背景 tabsLayout.setBackgroundColor(Color.parseColor("#4876FF")); // tab底线高度 tabsLayout.setUnderlineHeight((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics())); // 游标高度 tabsLayout.setIndicatorHeight((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5, getResources().getDisplayMetrics())); // 选中的文字颜色 tabsLayout.setSelectedTextColor(Color.WHITE); // 正常文字颜色 tabsLayout.setTextColor(Color.BLACK); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); /* ShareActionProvider配置 */ mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(menu.findItem(R.id.action_share)); Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/*"); mShareActionProvider.setShareIntent(intent); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { // switch (item.getItemId()) { // case R.id.action_settings: // Toast.makeText(MainActivity.this, "action_settings", 0).show(); // break; // case R.id.action_share: // Toast.makeText(MainActivity.this, "action_share", 0).show(); // break; // default: // break; // } return super.onOptionsItemSelected(item); } /* ***************FragmentPagerAdapter***************** */ public class MyPagerAdapter extends FragmentPagerAdapter { private final String[] TITLES = { "分类", "主页", "热门推荐", "热门收藏", "本月热榜", "今日热榜", "专栏", "随机" }; public MyPagerAdapter(FragmentManager fm) { super(fm); } @Override public CharSequence getPageTitle(int position) { return TITLES[position]; } @Override public int getCount() { return TITLES.length; } @Override public Fragment getItem(int position) { return SimpleFragment.newInstance(position); } } }
主布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.toolbar.MainActivity" > <include layout="@layout/toolbar" /> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 内容界面 --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/holo_blue_dark" android:orientation="vertical" > <com.example.toolbar.widget.TabsLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip" > </com.example.toolbar.widget.TabsLayout> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" > </android.support.v4.view.ViewPager> </LinearLayout> <!-- 侧滑菜单内容 --> <LinearLayout android:id="@+id/drawer_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:background="@android:color/white" android:orientation="vertical" android:padding="8dp" > <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="test item" /> </LinearLayout> <!-- 侧滑菜单内容 --> <LinearLayout android:id="@+id/drawer_view_right" android:layout_width="80dp" android:layout_height="match_parent" android:layout_gravity="end" android:background="@android:color/white" android:orientation="vertical" android:padding="8dp" > <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="test item" /> </LinearLayout> </android.support.v4.widget.DrawerLayout> </LinearLayout>
Design Support Library包含8个控件,具体如下:
android.support.design.widget.TextInputLayout 强大带提示的MD风格的EditText
android.support.design.widget.FloatingActionButton MD风格的圆形按钮,来自于ImageView
android.support.design.widget.Snackbar 类似Toast,添加了简单的单个Action
android.support.design.widget.TabLayout 选项卡
android.support.design.widget.NavigationView DrawerLayout的SlideMenu
android.support.design.widget.CoordinatorLayout 超级FrameLayout
android.support.design.widget.AppBarLayout MD风格的滑动Layout
android.support.design.widget.CollapsingToolbarLayout 可折叠MD风格ToolbarLayout
Android Design Support Library使用详解
http://www.open-open.com/lib/view/open1433496206666.html
背景模糊的Navigation Drawer。可以设置参数达到不同的模糊效果
https://github.com/charbgr/BlurNavigationDrawer
https://github.com/hugeterry/CoordinatorTabLayout
- android-support-v7-appcompat.rar (2 MB)
- 描述: 需要使用扩展包
- 下载次数: 1
- Material_Design之Toolbar与Palette实践.rar (745.6 KB)
- 描述: 需要上面的扩展包
- 下载次数: 3
发表评论
-
TabLayout和ViewPager结合使用
2015-09-10 10:54 9739TabLayout是android design包内的控件; ... -
AppBarLayout.OnOffsetChangedListener的使用
2015-09-01 14:08 8989如果没听说过AppBarLayout.OnOffsetChan ... -
Design各控件的搭配使用4
2015-08-28 17:01 1480在上一个版本基础上添加两个Activity: EffectsA ... -
Design各控件的搭配使用3
2015-08-28 11:35 1879在上一个版本基础上新增: 对RecyclerView的操作(线 ... -
Design各控件的搭配使用2
2015-08-25 15:16 1994在上个版本的基础上增加个几个控件: DrawerLayout+ ... -
Design各控件的搭配使用
2015-08-25 13:48 2852PS:使用design包需要在design项目中导入appco ... -
ItemTouchHelper之SwipeDismiss
2015-08-25 10:11 1975引用This is a utility class to ad ... -
CoordinatorLayout之Behavior使用
2015-08-18 10:27 2299import android.animation.An ... -
support.v4之SlidingPaneLayout简单使用
2015-08-13 13:10 2460简单的布局 <android.support.v4. ... -
android5.0之CardView
2015-08-11 17:24 2058CardView继承至FrameLayout类,可以在一个卡片 ... -
android5.0之RecyclerView
2015-07-31 13:55 2528早就听说RecyclerView有多少多少XX 但是直到今天才 ... -
RecylerView相关文章
2015-04-10 12:03 2058RecylerView用于替代ListView,因为它比Lis ...
相关推荐
`NavigationView`是设计支持库中的另一个组件,常与`DrawerLayout`配合使用,为抽屉提供结构化的菜单内容。在XML布局中,`<com.google.android.material.navigation.NavigationView>`用于创建一个包含头像、标题、子...
"My_Toolbar_DrawerLayout" 是一个Android应用程序项目,它的核心特性是将抽屉布局(DrawerLayout)与工具栏(Toolbar)结合在一起。在Android开发中,抽屉布局常用于实现侧滑菜单,而工具栏是作为替代传统ActionBar...
1. **基本结构**:`DrawerLayout`通常包含两部分:主要内容视图(通常是Activity的主要布局)和滑动抽屉视图(包含侧滑菜单)。抽屉可以通过设置`android:layout_gravity`属性来指定是从左侧还是右侧滑出。 2. **...
1. DrawerLayout的基本结构和使用,包括主内容视图和抽屉视图。 2. 如何将Toolbar集成到DrawerLayout中,作为App Bar。 3. 使用DrawerToggle进行抽屉的开关控制和状态同步。 4. RecyclerView在抽屉视图中的应用,...
在Android应用开发中,侧滑菜单...总之,`DrawerLayout`是Android开发中一个重要的组件,它使得应用能够优雅地呈现多层级的导航结构。通过合理地使用和定制,开发者可以构建出符合用户习惯且功能强大的Android应用。
DrawerLayout基本结构 DrawerLayout由两个主要部分组成:主内容视图(通常是Activity的主要布局)和一个或多个抽屉视图(通常包含侧边栏菜单)。抽屉视图可以是从左侧或右侧滑出,它们的可见性可以通过手势或者...
通过学习和分析这个示例,你不仅可以掌握DrawerLayout的基本用法,还可以了解如何实现双向侧滑菜单,这对于创建功能丰富的Android应用是非常有用的。 总之,使用DrawerLayout在Android应用中创建双向侧滑菜单是一项...
1. **DrawerLayout基本概念**: DrawerLayout允许在主视图旁边添加一个或两个“抽屉”视图,通常用作导航菜单。抽屉可以是从左侧或右侧滑出,甚至在某些情况下,也可以从底部滑出。这个组件是在Android Support ...
以下是一个基本的 DrawerLayout 结构: ```xml <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width=...
在Android的布局层次结构中,DrawerLayout作为根视图,可以包含多个子视图,其中一个是主要内容视图,另一个或两个是抽屉视图。 要创建一个基本的DrawerLayout,首先需要在XML布局文件中声明DrawerLayout,并设置...
首先,我们来看如何设置DrawerLayout的基本结构。DrawerLayout通常包含两个子视图:主内容视图(通常是Activity的根布局)和一个或多个抽屉视图(用于显示导航菜单)。在XML布局文件中,DrawerLayout作为顶级容器,...
**DrawerLayout的基本结构** DrawerLayout有两个主要区域:主内容视图(Main Content View)和抽屉视图(Drawer View)。主内容视图通常是应用的主要界面,而抽屉视图则作为侧拉菜单,可以从屏幕边缘滑出。默认情况...
基本结构如下: ```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" ...
以下是一个基本的DrawerLayout XML结构: ```xml <androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_...
首先,我们需要了解DrawerLayout的基本结构。DrawerLayout有两个主要区域:主内容视图(content view)和抽屉视图(drawer view)。主内容视图通常占据屏幕的大部分空间,而抽屉视图则隐藏在屏幕边缘,可以通过滑动...
首先,我们了解DrawerLayout的基本结构。DrawerLayout允许在屏幕边缘滑出一个或两个“抽屉”视图。通常,左侧的抽屉用于导航菜单,右侧的抽屉用于显示更多内容或者设置。在XML布局文件中,DrawerLayout作为根元素,...
1. **DrawerLayout的基本结构**: DrawerLayout包含两个主要部分:主内容视图(通常是Activity的主要布局)和抽屉视图(侧滑菜单)。抽屉视图可以在左侧或右侧滑出,通过`android:layout_gravity`属性指定其位置。 ...