使用自定义的样式主题
- 在res/valuses下面新建一个mystyle.xml(全部小写)
<resources>
<style name="TextStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">30dip</item>
<item name="android:textColor">#990033</item>
</style>
<style name="MyTheme">
<item name="android:background">#D9D9D9</item>
</style>
<!-- 继承样式 -->
<style name="TextStyleTwo" parent="TextStyle">
<item name="android:textColor">#990000</item>
</style>
</resources>
- 属性
parent:可以通过继承其他定义好的样式 - 使用自己的样式主题
在AndroidManifest.xml的插入一下代码
android:theme="@style/MyTheme" >
在页面布局文件中引用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="自定义样式"
style="@style/TextStyle"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="自定义样式2"
style="@style/TextStyleTwo"/>
程序调试
程序调试一般的三种方法:
- JUnit调试
断言的使用:断言就是判断实际输出值是否与预判的值一样 - 使用LogCat,不同颜色代表不同严重程度
log.v 显示全部信息,黑色
log.d 显示调试信息,蓝色
log.i 显示一般信息,绿色
log.w 显示警告信息,橙色
log.e 显示错误信息,红色 - 使用Toast
关键是不要忘了最后show()出来
Activity
Activity是Android四大组件之一,负责管理应用程序的用户界面,同过调用setContentView()(可接受参数为View或者资源id)方法来显示指定组件。
- 创建自己 的activity要记得在AndroidManifest.xml中进行注册
<activity
android:name="com.example.equipmentchoose.ShopActivity"
android:label="购买页面"
android:screenOrientation="portrait" >
</activity>
name:是注册的包名下的具体activity
label:是显示页面的名字
2.默认的activity
<activity
android:name="com.example.styleandtheme.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /><!--表示将当前的activity设置为程序最新启动 -->
<category android:name="android.intent.category.LAUNCHER" /><!--表示让当前的Activity在桌面创建图标 -->
</intent-filter>
</activity>
切换横屏竖屏
在AndroidManifest.xml中设置需要表现的activity
竖屏:android:screenOrientation="portrait"
横屏:android:screenOrientation="landscape"
View的四种点击事件
- 在xml布局文件的控件中声明onClick()
例如:<Button android:id="@+id/btn_master" android:layout_width="wrap_content" android:layout_height="wrap_content" **android:onClick="click"**/>
- 创建内部类
2.1在控件中声明id:<Button **android:id="@+id/btn_master"** android:layout_width="wrap_content" android:layout_height="wrap_content" />
2.2在activity中通过Button Bt=findViewById(R.id.btn_master);
获取控件便且传入实现了OnClickListener接口类对象Bt .setOnClickListener(new MyButtonListener());
2.3 写内部类
private class MyButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btn_master:
//操作代码
break;
}
}
}
- 主类中实现OnClickListener接口
直接在Activity上面实现OnClickListener接口,重载onClick()方法
public class MainActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=findViewById(R.id.btn_master);
button.setOnClickListener(this);
Button button=findViewById(R.id.other);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_master:
// 操作代码
break;
case R.id.other:
// 操作代码
break;
}
}
}
- 匿名内部类
在按钮设置监听中直接new监听器
Button button=findViewById(R.id.btn_master);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 其他操作
.....
}
});
}
layout_width与width区别
view中的layout_width形容的是本view和父容器的关系;而view中的width是用来描述自己本身的。
不带"layout" 的属性是指控件中文本的格式,如gravity是指文本的对齐方式等等