码迷,mamicode.com
首页 > 移动开发 > 详细

【2015科研】03 安卓开发界面

时间:2015-08-06 00:15:29      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

 
笔记:

******************************目标*******************************
技术分享
技术分享
技术分享
*****************************************************************
 
1. 在AndroidManifest.xml文件里可以修改ActionBar的icon和显示文字。
技术分享
 
右侧overflow的项目在menu文件夹里的main.xml里设置:
 1 <menu xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     tools:context="com.example.mclock.MainActivity" >
 4     <item
 5         android:id="@+id/action_settings"
 6         android:orderInCategory="1"
 7         android:showAsAction="never"
 8         android:title="@string/action_settings"/>
 9     <item
10         android:id="@+id/action_about_us"
11         android:orderInCategory="2"
12         android:showAsAction="never"
13         android:title="@string/action_about_us">
14     </item>
15 </menu>

主活动选择隐藏返回键:

  ActionBar actionBar = getActionBar();
  actionBar.setDisplayHomeAsUpEnabled(false);

返回键显示则是:

  ActionBar actionBar = getActionBar();
  actionBar.setDisplayHomeAsUpEnabled(true);

 

2. style.xml和AndroidManifest.xml文件,自定义主题。 ??? 下划线蓝色我不会变色 
Tab的制作参考:

Tab是两个Fragment。
Fragment载入布局,我觉得布局和代码分开更方便,于是使用:

 @Override  
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {  
        View view = inflater.inflate(R.layout.fixed_fragment, container, false);
        return view;
    }  
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6     <TextView
 7         android:id="@+id/textView1"
 8         android:layout_width="wrap_content"
 9         android:layout_height="wrap_content"
10         android:text="fixed fragment!!!!"
11         android:layout_gravity="center" 
12         android:background="#ff0000"/>
13 </LinearLayout>

 

技术分享

要实现上图这种风格,style部分的xml代码(这部分不是很会,我觉得就是重写安卓的源代码,然后代码提示好像并没有什么用,于是我通过按ctrl键区源代码里找着试效果,感觉还蛮复杂的):
技术分享 首先不能忘记最后要在AndroidManifest.xml文件中引用我自定义的主题。
 1 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 2 
 3     <style name="AppTheme" parent="@android:style/Theme.Holo.Light">
 4         <item name="android:actionBarStyle">@style/CustomActionBar</item>
 5         <item name="android:actionBarTabTextStyle">@style/CustomActionBarTabText</item>
 6     </style>
 7 
 8     <style name="CustomActionBar" parent="@android:style/Widget.Holo.ActionBar">
 9         <item name="android:windowActionBarOverlay">true</item>
10         <item name="android:titleTextStyle">@style/ActionBarTitle</item>
11         <item name="android:background">#4abc96</item>
12         <item name="android:backgroundStacked">#f5faf8</item>
13     </style>
14 
15     <style name="ActionBarTitle" parent="@android:style/TextAppearance.Holo">
16         <item name="android:textColor">@android:color/white</item>
17     </style>
18 
19     <style name="CustomActionBarTabText" parent="@android:style/TextAppearance.Holo">
20         <item name="android:textColor">#3d3d3d</item>
21     </style>
22 
23 </resources>

 

3. 关于back键返回上层,ActionBar的item:
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home: //back键的id号
            finish();
            return true;
        case R.id.action_tick:
            Intent intent = new Intent(ThirdActivity.this, MainActivity.class);
            startActivity(intent);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

 

技术分享

右侧的闹钟是item项是在menu文件夹里新建一个second.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
3         <item  
4         android:id="@+id/action_clock"  
5         android:icon="@drawable/button_clock"  
6         android:showAsAction="always"  
7         android:title="@string/action_clock"/> 
8 </menu>

在java代码里载入菜单:

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.second, menu);
    return true;
}
 
 
目前成果:
  
  做出了一点样子好开心^^
  技术分享
 

【2015科研】03 安卓开发界面

标签:

原文地址:http://www.cnblogs.com/susyxu/p/4705983.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!