activity

android中的ActionBar和ToolBar

荒凉一梦 提交于 2020-03-03 23:22:43
一、ToolBar 1、概述 Google在2015的IO大会上发布了系列的Material Design风格的控件。其中ToolBar是替代ActionBar的控件。由于ActionBar在各个安卓版本和定制Rom中的效果表现不一,导致严重的碎片化问题,ToolBar应运而生。 与ActionBar区别 显示效果跟ActionBar并没有区别。 优点:自定义视图的操作更加简单,状态栏的颜色可以调(Android 4.4以上)。 2、使用方法 2.1 导包(配置Gradle) compile 'com.android.support:appcompat-v7:22.0.0' 2.2 在AndroidManifest.xml设置此Activity的主题 <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> 注意:务必将ActionBar消除,否则Activity将会崩溃 2.3 重定义主题(颜色等信息) Android 4.4及以上,在values文件夹中新建values-v19.xml,内容如下 <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name=

Fragment

血红的双手。 提交于 2020-03-03 18:49:23
待续//参考/reference/android/app/Fragment.html /guide/topics/fundamentals/fragments.html Fragment用来描述一些行为或一部分用户界面在一个Activity中,我们可以通过合并多个fragment在一个单独的activity中建立多个UI面板,也可以同时重用fragment在多个activity中。可以认为fragment作为activity的一节模块,fragment有自己的生命周期,接收自己的输入事件,可以从运行中的activity中添加/移除。 创建一个fragment必须创建Fragment的子类或者存在的子类 当系统在首次绘制用户界面调用fragment时,必须通过 onCreateView 在你的fragment画一个UI然后返回一个View(null表示没有fragment) 当fragment创建时被调用,要用到 onCreate() 初始化一些实用的空间,比如再fragment暂停或停止时需要恢复的 public class MyFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle

Android activity跳转方式

我们两清 提交于 2020-03-03 11:57:45
方法一:通过SetContentView切换Layout来实现界面的切换,这种方法相当于重绘Activity. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnInsert = (Button) this.findViewById(R.id.btnInsert); //获取btn btnInsert.setOnClickListener(new View.OnClickListener() { //添加监听器 @Override public void onClick(View v) { setContentView(R.layout.activity_insert); //跳转 } }); } 方法二:在一个程序中使用Intent对象来指定一个Activity,并通过startActivity方法启动这个Activity. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout

android activity跳转

早过忘川 提交于 2020-03-03 11:56:58
开始Activity代码: Intent in = new Intent(); in.putExtra("str", "欢迎测试");// in.setClass(TestActivity02Activity.this, TestActivtiy03.class); TestActivity02Activity.this.startActivity(in); 必须配置AndroidManifest.xml代码: <activity android:name=".TestActivity02Activity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".TestActivtiy03" android:label="测试"></activity>//跳转到的activity在xml注册 跳转到的activity取值: Intent in =getIntent(); String str = in

Android——Activity跳转

眉间皱痕 提交于 2020-03-03 11:56:28
Activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.hanqi.text3.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap

DDMS中的log

自古美人都是妖i 提交于 2020-03-03 09:12:34
DDMS中的log也无法定位到准确的出错位置。检查错误可以从下面几点入手: 1、检查Thread,确定没有在Background thread中直接调用adapter,如果有,请移除相关代码到Handler中处理; 2、尽量将数据放在adapter类中管理,不需要的时候清除信息(勤写clear()),及时用notifyDataSetChanged()刷新; 3、在Activity或者Fragment合适的位置(onPause/onStop)要及时检查thread,有adapter数据处理相关的应马上停止; 4、这个错误经常出现在Activity休眠起来之后,主要还是使用adapter不太小心造成的。如果实在找不到原因,在onPause()函数中停止所有的background thread,并且在onResume()函数最前面清空adapter中的数据,并且adapter.notifyDataSetChanged()。然后重新更新加载数据,这样一般可以解决问题。 来源: https://www.cnblogs.com/sode/archive/2013/03/11/2953427.html

android笔记--Intent和IntentFilter详解

独自空忆成欢 提交于 2020-03-02 21:12:24
Intent用于启动Activity, Service, 以及BroadcastReceiver三种组件, 同时还是组件之间通信的重要媒介. 使用Intent启动组件的优势 1, Intent为组件的启动提供了一致的编程模型. 无论想要启动的组件是Activity, Service, 还是BroadcastReceiver, 都可以使用Intent封装启动的意图. 2, 在某些时候, 应用程序只是想启动具有某种特征的组件, 并不想和某个特定的组件耦合. 使用Intent可以方便的达到这种高层次解耦的目的. Intent的Component属性 Intent对象的setComponent(ComponentName comp)方法用于设置Intent的Component属性. ComponentName包含如下几个构造器: ComponentName(String pkg, String cls) ComponentName(Context pkg, String cls) ComponentName(Context pkg, Class<?> cls) 由以上的构造器可知, 创建一个ComponentName对象需要指定包名和类名--这就可以唯一确定一个组件类, 这样应用程序即可根据给定的组件类去启动特定的组件. 例如: ComponentName comp = new

Activity

梦想的初衷 提交于 2020-03-02 20:46:43
上篇按钮已经成功,作为小白真是学的艰难,要在活动中加载这个布局 protected void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ) ; setContentView ( R . layout . activity_frist ) ; Button button1 = ( Button ) findViewById ( R . id . button1 ); 这里是调用了setContentView()方法来给当前的活动加载一个布局,一般会传入一个布局的id(项目中添加任何资源都会在R文件中生成一个相应的id 我们刚才创建的activityfirst .xml布局的id现在应该已经添加到R文件中了 在代码中引用布局只需要调用R.layout…activity_frist j就可以得到activity_first 在AndroidManifest中注册 所有的活动都要在Androidmanifest.xml中注册 注册活动的声明要放在标签·中,这里是通过标签来对活动进行注册 在标签中我们使用android:name 具体指注册的哪一个活动 但是这样是没有主活动的在中添加<inter.fliter>标签并在标签里添加AIN"/>和这两句声明即可 android

Android Hook工具Cydia Substrate使用

别等时光非礼了梦想. 提交于 2020-03-02 19:37:38
Hook简介: Hook就是钩子,在安卓中,就是在事件传送到终点前截获并监控事件的传输,像个钩子勾上事件一样,并且能够在勾上事件时,处理一些自己特定的事件。 Cydia Substrate的官网定义:The powerful code modification platform behind Cydia. Cydia Substrate是一个代码修改平台,它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的。 注:Cydia Substrate框架对于inline Hook的操作目前还是存在一些bug,使用的时候可能会出现崩溃的现象,部分使用了国内定制的ROM的设备在使用Cydia Substrate框架时会造成设备无法重新启动或无法Hook的现象。 使用Cydia Substrate的步骤: 第一步: 安装Cydia Substrate框架Android本地服务 首先就是在Android设备中安装Cydia Substrate框架的本地服务应用substrate.apk 然后,需要"Link Substrate Files"(连接本地的Substrate服务文件),这一步是需要Root权限的,连接后还需要重启设备才能够生效。 第二步: 下载使用Cydia Substrate库(直接去官网下载)。下载完成后,将得到的所有文件(很多的jar包与so库)

android之activity学习

六眼飞鱼酱① 提交于 2020-03-02 18:36:20
android:orientation:线性布局。 fill_parent:填满整个父控件。 android:id —— 为控件指定相应的ID android:text —— 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 android:grivity —— 指定控件的基本位置,比如说居中,居右等位置 android:textSize —— 指定控件当中字体的大小 android:background —— 指定该控件所使用的背景色,RGB命名法 android:width —— 指定控件的宽度 android:height —— 指定控件的高度 android:padding* —— 指定控件的内边距,也就是说控件当中的内容 android:sigleLine —— 如果设置为真的话,则将控件的内容在同一行当中进行显示 相对布局的简介 android:layout_above 将该控件的底部至于给定ID的控件之上 android:layout_below 将该控件的顶部至于给定ID的控件之下 android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐 android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐 android:layout_alignBaseline