最近被老师逼着做安卓项目……eclipse搞不定,被迫学AS,听说《第一行代码》很好于是跟着学,结果第一天就因为开发的软件不同被坑得很惨……
后来发现了一个AS版的《第一行代码》
http://www.cnblogs.com/DebugLife/p/4349428.html
照着学发现还是有点小问题,不过幸好评论里有大神纠正了,我在这里整理一下免得以后忘了
2.2 活动的基本用法
------------------------------------------------------------------------------------------
Android Studio New 一个Blank Activity时,默认基类为ActionBarActivity,其子类不支持requestWindowFeature(Window.FEATURE_NO_TITLE);
书上继承的是Activity是因为用的Eclipse,现在这个类里没有标题栏ActionBar了。
如果继承了Activity类则可以在注册活动的avtivity标签里加个theme:
android:theme="@android:style/Theme.Holo.Light.DarkActionBar"或者是public class FirstActivity extends AppCompatActivity继承在这个AppCompatActivity类里。
继承AppCompatActivity后,requestWindowFeature(Window.FEATURE_NO_TITLE);失效了。
要使用 getSupportActionBar().hide();
划重点:
1.AS活动默认继承的类是AppCompatActivity,使用Activity就不能显示标题栏;
2.AS隐藏标题栏的方法是getSupportActionBar().hide();
---------------------------------------------------------
2
在创建menu时,输入item标签后提示“menu items should specify a title”
stackoverfow搜过之后未解决,又搜了menu的使用方法
把原先的xml删掉重新建了一个
找了一个例子复制粘贴上去就不报错了……鬼知道我错哪了
----------------------------------------------------------------------------------
3
等等……我……我的锅……
其实不在xml里注册也是可以的,之前之所以会报错是因为我没有改正intent里传入的参数……
-----------------------------------------------------------------------------------------------------------------
今天也被坑了呢!作者拜托你走点心啊!该贴的代码麻烦你贴上好不好!!!
1.这节有个不太理解的地方,见下
intent.addCategory("com.example.activitytest.MY_CATEGORY");
写下这一行代码后如果xml中没有相应注册的话就会使程序出错,可是之前写的那个intent不会生效吗?
他们之间到底是怎样的关系?感觉无法理解
2.第二个不理解的地方:写了能响应http的activity3之后,点击button1会有四个选项:
一Chrome、
二系统的HTML查看器、
三会打开activity2(有button2)的界面、
四会打开activity3(有button3)的界面。
明明已经没有调用secondactivity.class了,为什么它还会打开?
隐式intent的用法
按钮点击事件设置
Intent intent = new Intent(Intent.ACTION_VIEW); //为Intent设置Action属性
intent.setData(Uri.parse("http://www.baidu.com")); //为Intent设置DATA属性
startActivity(intent);
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="http" /> <!--响应所有的http协议的Intent--> </intent-filter>
(补充)调用系统拨号界面
Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:10086")); startActivity(intent);
-------------------------------------------------------------------------------------------
界面上的元素显示不出来,提示
找到了一个很好的解决方法:
This view is not constrained, it only has design time positions, so it will jump to (0,0) unless you add constraints
在界面上作如图所示的操作即可