<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Everyday NetLog]]></title> 
<link>https://blog.zhoz.com/index.php</link> 
<description><![CDATA[z-NetLog]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Everyday NetLog]]></copyright>
<item>
<link>https://blog.zhoz.com/read.php?763</link>
<title><![CDATA[android学习笔记(提升篇一)一-Activity生命周期]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Wed, 08 Jan 2014 11:31:05 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?763</guid> 
<description>
<![CDATA[ 
	一、如何在一个应用程序中定义多个Activity<br/>1、定义一个类，继承Activity<br/>2、在该类中，复写Activity当中的OnCreate方法<br/>3、在AndroidManifest.xml中注册该Activity<br/><br/>二、启动一个Activity的方法<br/>1、生成一个意图对象（Intent）<br/>2、调用setClass方法设置所要启动的Activity<br/>3、调用startActivity方法启动Activity<br/>代码：<br/>Intent intent = new Intent();<br/>intent.setClass(MainActivity.this, SecondActivity.class);<br/>startActivity(intent);<br/><br/>三、Android中的back stack<br/>后退栈：提供后退流程<br/>只显示栈最顶端一个<br/><br/>四、Activity的生命周期函数:同Android操作系统来管理<br/>生命周期函数&nbsp;&nbsp;调用时机<br/>onCreate&nbsp;&nbsp;在Activity对象被第一次创建时调用<br/>onStart&nbsp;&nbsp;当Activity变得可见时调用该函数<br/>onResume&nbsp;&nbsp;当Activity开始准备与用户交互时调用该方法<br/>onPause&nbsp;&nbsp;当系统即将启动另外一个Activity之前调用该方法<br/>onStop&nbsp;&nbsp;当前Activity变得不可见时调用该方法<br/>onDestroy&nbsp;&nbsp;当前Activity被销毁之前将会调用该方法<br/>onRestart&nbsp;&nbsp;当一个Activity再次启动之前将会调用该方法<br/><br/>五、Activity对象状态<br/>1、Resumed:Activity对象处于运行状态<br/>2、Paused:另一个Activity位于前端，但本Activity还可见<br/>3、Stopped:另一个Activity位于前端，完全遮挡本Activity<br/><br/>六、成对儿的生命周期函数<br/>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?762</link>
<title><![CDATA[android学习笔记十-SeekBar和RatingBar]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Mon, 30 Dec 2013 09:52:59 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?762</guid> 
<description>
<![CDATA[ 
	继续进度条的学习<br/>1、SeekBar（查找：可拖拽）属性<br/>.max<br/>.progress:当前进度<br/>.Secondary:次要进度<br/>2、OnSeekBarChangeListener 监听变化情况<br/>.onProgressChanged(SeekBar seekBar,int progress,boolean fromUser)<br/>.onStartTrackingTouch(SeekBar seekBar)<br/>.onStopTrackingTouch(SeekBar seekBar)<br/><br/>3、RatingBar（评分）<br/>.numStars:星星个数<br/>.progress:当前等级<br/>.stepSize:前进时的分数<br/>4、OnRatingBarChangeListener<br/>.onRatingChanged(RatingBar ratingBar,float rating,boolean fromUser)<br/>代码：<br/><textarea name="code" class="JAVA" rows="15" cols="100">
package com.zhoz.a_seekbar;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;

public class MainActivity extends Activity &#123;
&nbsp;&nbsp;private SeekBar seekBar;
&nbsp;&nbsp;private RatingBar ratingBar;
&nbsp;&nbsp;private Button button;

&nbsp;&nbsp;@Override
&nbsp;&nbsp;protected void onCreate(Bundle savedInstanceState) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;super.onCreate(savedInstanceState);
&nbsp;&nbsp;&nbsp;&nbsp;setContentView(R.layout.activity_main);

&nbsp;&nbsp;&nbsp;&nbsp;seekBar = (SeekBar)findViewById(R.id.seekBar);
&nbsp;&nbsp;&nbsp;&nbsp;seekBar.setProgress(30);
&nbsp;&nbsp;&nbsp;&nbsp;seekBar.setSecondaryProgress(50);
&nbsp;&nbsp;&nbsp;&nbsp;SeekBarListener listener = new SeekBarListener();
&nbsp;&nbsp;&nbsp;&nbsp;seekBar.setOnSeekBarChangeListener(listener);


&nbsp;&nbsp;&nbsp;&nbsp;ratingBar = (RatingBar)findViewById(R.id.ratingBar);
&nbsp;&nbsp;&nbsp;&nbsp;RatingBarListener ratingBarListener = new RatingBarListener();
&nbsp;&nbsp;&nbsp;&nbsp;ratingBar.setOnRatingBarChangeListener(ratingBarListener);

&nbsp;&nbsp;&nbsp;&nbsp;button = (Button)findViewById(R.id.button);
&nbsp;&nbsp;&nbsp;&nbsp;ButtonListener buttonListener = new ButtonListener();
&nbsp;&nbsp;&nbsp;&nbsp;button.setOnClickListener(buttonListener);
&nbsp;&nbsp;&#125;

&nbsp;&nbsp;class ButtonListener implements OnClickListener&#123;

&nbsp;&nbsp;&nbsp;&nbsp;public void onClick(View v) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ratingBar.setRating(ratingBar.getRating() + 1.0f);

&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&#125;

&nbsp;&nbsp;class RatingBarListener implements OnRatingBarChangeListener&#123;

&nbsp;&nbsp;&nbsp;&nbsp;public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("zhoz=>rating:" + rating + ",fromuser:" + fromUser);

&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&#125;


&nbsp;&nbsp;class SeekBarListener implements OnSeekBarChangeListener&#123;

&nbsp;&nbsp;&nbsp;&nbsp;/**
&nbsp;&nbsp;&nbsp;&nbsp; * SeekBar 该对象触发监听器的SeekBar对象
&nbsp;&nbsp;&nbsp;&nbsp; * progress 当前进度
&nbsp;&nbsp;&nbsp;&nbsp; * fromUser 是不是经过拖拽了进度
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp;&nbsp;public void onProgressChanged(SeekBar SeekBar, int progress, boolean fromUser) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("zhoz=>progress:" + progress + "fromuser:" + fromUser);

&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;public void onStartTrackingTouch(SeekBar SeekBar) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("zhoz=>onStart");

&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;public void onStopTrackingTouch(SeekBar SeekBar) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("zhoz=>endStart");

&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&#125;


&nbsp;&nbsp;@Override
&nbsp;&nbsp;public boolean onCreateOptionsMenu(Menu menu) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;// Inflate the menu; this adds items to the action bar if it is present.
&nbsp;&nbsp;&nbsp;&nbsp;getMenuInflater().inflate(R.menu.main, menu);
&nbsp;&nbsp;&nbsp;&nbsp;return true;
&nbsp;&nbsp;&#125;

&#125;

</textarea><br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=%25E6%258E%25A7%25E4%25BB%25B6" rel="tag">控件</a>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?761</link>
<title><![CDATA[android学习笔记九-进度条（ProgressBar）]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Thu, 26 Dec 2013 08:43:19 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?761</guid> 
<description>
<![CDATA[ 
	1、各种进度条<br/>垂直风格←ProgressBar→水平风格<br/>SeekBar（查找：可拖拽）&nbsp;&nbsp;RatingBar（评分）<br/><br/>2、ProgressBar的Style<br/>.水平风格：Horizontal<br/>.小风格：Small<br/>.大风格：Large<br/>.反向风格：Inverse(实践证明这三种与上面没有什么区别，故不常用)<br/>.小反向风格：Small.Inverse<br/>.大反向风格：Large.Inverse<br/><br/>3、属性<br/>.进度条最大值：max<br/>.当前进度：progress<br/>.次要进度：secondaryProgress<br/><br/>学习代码：<br/><br/><textarea name="code" class="JAVA" rows="15" cols="100">
package com.zhoz.a_progressbar;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;

public class MainActivity extends Activity &#123;
&nbsp;&nbsp;private ProgressBar progressbar;
&nbsp;&nbsp;private Button button1;
&nbsp;&nbsp;private Button button2;

&nbsp;&nbsp;@Override
&nbsp;&nbsp;protected void onCreate(Bundle savedInstanceState) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;super.onCreate(savedInstanceState);
&nbsp;&nbsp;&nbsp;&nbsp;setContentView(R.layout.activity_main);

&nbsp;&nbsp;&nbsp;&nbsp;progressbar = (ProgressBar)findViewById(R.id.firstProgressBar);
&nbsp;&nbsp;&nbsp;&nbsp;progressbar.setMax(100);
//&nbsp;&nbsp;&nbsp;&nbsp;progressbar.setProgress(20);
//&nbsp;&nbsp;&nbsp;&nbsp;progressbar.setSecondaryProgress(40);

&nbsp;&nbsp;&nbsp;&nbsp;// 是不是模糊进度:水平返回false,圈型进度返回true
&nbsp;&nbsp;&nbsp;&nbsp;boolean flag = progressbar.isIndeterminate();

&nbsp;&nbsp;&nbsp;&nbsp;// 原有进度上增加进度
//&nbsp;&nbsp;&nbsp;&nbsp;progressbar.incrementProgressBy(10);
//&nbsp;&nbsp;&nbsp;&nbsp;progressbar.incrementSecondaryProgressBy(20);

&nbsp;&nbsp;&nbsp;&nbsp;button1 = (Button)findViewById(R.id.button1);
&nbsp;&nbsp;&nbsp;&nbsp;button2 = (Button)findViewById(R.id.button2);

&nbsp;&nbsp;&nbsp;&nbsp;button1.setOnClickListener(new firstListener());
&nbsp;&nbsp;&nbsp;&nbsp;button2.setOnClickListener(new secendListenr());

&nbsp;&nbsp;&#125;

&nbsp;&nbsp;class firstListener implements OnClickListener&#123;

&nbsp;&nbsp;&nbsp;&nbsp;public void onClick(View v) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progressbar.incrementProgressBy(10);
&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&#125;

&nbsp;&nbsp;class secendListenr implements OnClickListener&#123;

&nbsp;&nbsp;&nbsp;&nbsp;public void onClick(View v) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progressbar.incrementSecondaryProgressBy(20);
&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&#125;

&nbsp;&nbsp;@Override
&nbsp;&nbsp;public boolean onCreateOptionsMenu(Menu menu) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;// Inflate the menu; this adds items to the action bar if it is present.
&nbsp;&nbsp;&nbsp;&nbsp;getMenuInflater().inflate(R.menu.main, menu);
&nbsp;&nbsp;&nbsp;&nbsp;return true;
&nbsp;&nbsp;&#125;

&#125;

</textarea><br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=java" rel="tag">java</a> , <a href="https://blog.zhoz.com/tag.php?tag=%25E6%258E%25A7%25E4%25BB%25B6" rel="tag">控件</a> , <a href="https://blog.zhoz.com/tag.php?tag=%25E6%25BA%2590%25E7%25A0%2581" rel="tag">源码</a>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?760</link>
<title><![CDATA[android学习笔记八-时间与日期控件]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Wed, 25 Dec 2013 05:16:36 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?760</guid> 
<description>
<![CDATA[ 
	.TimePicker 时、分控件<br/>.OnTimeChangedListener 监听器:用户改变时间<br/>.DatePicker<br/>.AnalogClock<br/><br/><textarea name="code" class="JAVA" rows="15" cols="100">
package com.zhoz.a_datepicker;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;

public class MainActivity extends Activity &#123;
&nbsp;&nbsp;private DatePicker datePicker;
&nbsp;&nbsp;private Button button;

&nbsp;&nbsp;@Override
&nbsp;&nbsp;protected void onCreate(Bundle savedInstanceState) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;super.onCreate(savedInstanceState);
&nbsp;&nbsp;&nbsp;&nbsp;setContentView(R.layout.activity_main);

&nbsp;&nbsp;&nbsp;&nbsp;datePicker = (DatePicker)findViewById(R.id.firstDatePicker);
&nbsp;&nbsp;&nbsp;&nbsp;// 设置默认时间:java的月份是从0开始，即5则是6月；日从1开始
&nbsp;&nbsp;&nbsp;&nbsp;//datePicker.updateDate(2013, 7, 24);

&nbsp;&nbsp;&nbsp;&nbsp;button = (Button)findViewById(R.id.button);

&nbsp;&nbsp;&nbsp;&nbsp;ButtonListner buttonListner = new ButtonListner();
&nbsp;&nbsp;&nbsp;&nbsp;button.setOnClickListener(buttonListner);
&nbsp;&nbsp;&#125;

&nbsp;&nbsp;// 通过Button来获取日期
&nbsp;&nbsp;class ButtonListner implements OnClickListener&#123;

&nbsp;&nbsp;&nbsp;&nbsp;public void onClick(View v) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int y = datePicker.getYear();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int m = datePicker.getMonth();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int d = datePicker.getDayOfMonth();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("zhoz==>Y:"+y+"m:"+m+"d:"+d);
&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&#125;

&nbsp;&nbsp;@Override
&nbsp;&nbsp;public boolean onCreateOptionsMenu(Menu menu) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;// Inflate the menu; this adds items to the action bar if it is present.
&nbsp;&nbsp;&nbsp;&nbsp;getMenuInflater().inflate(R.menu.main, menu);
&nbsp;&nbsp;&nbsp;&nbsp;return true;
&nbsp;&nbsp;&#125;

&#125;

</textarea><br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=%25E6%2597%25A5%25E6%259C%259F%25E6%2597%25B6%25E9%2597%25B4" rel="tag">日期时间</a> , <a href="https://blog.zhoz.com/tag.php?tag=%25E6%258E%25A7%25E4%25BB%25B6" rel="tag">控件</a>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?759</link>
<title><![CDATA[android学习笔记七-相对布局 RelativeLayout]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Fri, 20 Dec 2013 11:33:07 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?759</guid> 
<description>
<![CDATA[ 
	相对布局 RelativeLayout<br/>通过指定当前控件与兄弟控件或父控件间的相对位置，从而达到控制位置的目的<br/>好处：减少嵌套、增强效率<br/><br/>常用属性<br/>1、第一组<br/>.android:layout_below（对齐到ID的下边缘）<br/>.android:layout_above（对齐到ID的上边缘）<br/>.android:layout_toLeftOf（对齐到ID的左边缘）<br/>.android:layout_toRightOf="@id/存在的控件id"（对齐到ID的右边缘）<br/>2、第二组<br/>.android:layout_alignLeft<br/>.android:layout_alignRight<br/>.android:layout_alignTop<br/>.android:layout_alignBottom<br/><br/>3、对齐到父控件<br/>android:layout_alignParentLeft<br/>android:layout_alignParentRight<br/>android:layout_alignParentTop<br/>android:layout_alignParentButtom<br/>android:layout_alignParentStart<br/>android:layout_alignParentEnd<br/><br/>4、布局新属性(Android 4.2+)<br/>.android:layout_alignStart<br/>.android:layout_alignEnd<br/>.android:layout_alignParentStart<br/>.android:layout_alignParentEnd<br/><br/>activity_main.xml 用户登录表单-示例源码：<br/><textarea name="code" class="XML" rows="15" cols="100">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
&nbsp;&nbsp;&nbsp;&nbsp;xmlns:tools="http://schemas.android.com/tools"
&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="match_parent"
&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="match_parent"
&nbsp;&nbsp;&nbsp;&nbsp;android:padding="15dp">

&nbsp;&nbsp;&nbsp;&nbsp;<TextView
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:id="@+id/tableView"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="match_parent"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:gravity="center"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:text="@string/_" />

&nbsp;&nbsp;&nbsp;&nbsp;<EditText
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:id="@+id/usernameView"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignParentLeft="true"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignParentRight="true"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_below="@id/tableView"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:hint="username"/>

&nbsp;&nbsp;&nbsp;&nbsp;<EditText
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:id="@+id/passView"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignLeft="@id/usernameView"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignRight="@id/usernameView"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_below="@id/usernameView"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:hint="password"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:inputType="textPassword"/>

&nbsp;&nbsp;&nbsp;&nbsp;<Button
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:id="@+id/cancelButton"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_below="@id/passView"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignParentRight="true"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:text="取消"/>

&nbsp;&nbsp;&nbsp;&nbsp;<Button
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:id="@+id/okButton"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignBottom="@id/cancelButton"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_toLeftOf="@id/cancelButton"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:text="提交"/>


</RelativeLayout>

</textarea><br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=%25E7%259B%25B8%25E5%25AF%25B9%25E5%25B8%2583%25E5%25B1%2580" rel="tag">相对布局</a>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?758</link>
<title><![CDATA[android学习笔记六-图片视图（ImageView）]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Thu, 19 Dec 2013 10:24:26 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?758</guid> 
<description>
<![CDATA[ 
	深入LinearLayout<br/>一、LinearLayout布局的嵌套<br/>二、layout_weight属性<br/><br/>图片视图（ImageView）<br/>1、在XML文件中使用<ImageView/>标签<br/>2、在代码中使用ImageView的对象表示<br/>3、拉伸类型ScaleType<br/>.CENTER 居中显示：图大，只显示中间的一部分。小则居中。<br/>.CENTER_CROP 缩放填满ImageView<br/>.CENTER_INSIDE 图大，缩小<br/>.FIT_CENTER(START,END) 等比例缩/放到ImageView并居中（上、下）显示<br/>.FIT_XY<br/><br/>代码：<br/><textarea name="code" class="JAVA" rows="15" cols="100">
package com.zhoz.a_image;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ImageView;

public class MainActivity extends Activity &#123;
&nbsp;&nbsp;ImageView imageView;

&nbsp;&nbsp;@Override
&nbsp;&nbsp;protected void onCreate(Bundle savedInstanceState) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;super.onCreate(savedInstanceState);
&nbsp;&nbsp;&nbsp;&nbsp;setContentView(R.layout.activity_main);

&nbsp;&nbsp;&nbsp;&nbsp;imageView = (ImageView)findViewById(R.id.imageViewId);
&nbsp;&nbsp;&nbsp;&nbsp;imageView.setScaleType(ScaleType.CENTER);
&nbsp;&nbsp;&#125;
&#125;
</textarea><br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=%25E6%258E%25A7%25E4%25BB%25B6" rel="tag">控件</a>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?757</link>
<title><![CDATA[android学习笔记五-单选按钮(radio)]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Wed, 18 Dec 2013 10:51:05 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?757</guid> 
<description>
<![CDATA[ 
	单选按钮(radio)<br/>1、XML文件：<RadioButton/>&<RadioGroup/><br/>2、代码：RadioButton & RadioGroup<br/>3、常用OnClickListener 与 OnCheckedChangeListener监听器<br/>学习代码：<br/><br/><textarea name="code" class="JAVA" rows="15" cols="100">
package com.zhoz.a_radio;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;

public class MainActivity extends Activity &#123;

&nbsp;&nbsp;private RadioGroup radioGroup;
&nbsp;&nbsp;private RadioButton femaleButton;
&nbsp;&nbsp;private RadioButton maleButton;

&nbsp;&nbsp;@Override
&nbsp;&nbsp;protected void onCreate(Bundle savedInstanceState) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;super.onCreate(savedInstanceState);
&nbsp;&nbsp;&nbsp;&nbsp;setContentView(R.layout.activity_main);

&nbsp;&nbsp;&nbsp;&nbsp;radioGroup = (RadioGroup)findViewById(R.id.radioGroupId);
&nbsp;&nbsp;&nbsp;&nbsp;femaleButton = (RadioButton)findViewById(R.id.femaleButtonId);
&nbsp;&nbsp;&nbsp;&nbsp;maleButton = (RadioButton)findViewById(R.id.maleButtonId);

&nbsp;&nbsp;&nbsp;&nbsp;// RadioGroup监听
&nbsp;&nbsp;&nbsp;&nbsp;RadioGroupListener listener = new RadioGroupListener();
&nbsp;&nbsp;&nbsp;&nbsp;radioGroup.setOnCheckedChangeListener(listener);

&nbsp;&nbsp;&nbsp;&nbsp;// radio监听
&nbsp;&nbsp;&nbsp;&nbsp;RadioButtonListener radioButtonListener = new RadioButtonListener();
&nbsp;&nbsp;&nbsp;&nbsp;maleButton.setOnCheckedChangeListener(radioButtonListener);
&nbsp;&nbsp;&#125;

&nbsp;&nbsp;// Radio监听
&nbsp;&nbsp;class RadioButtonListener implements android.widget.CompoundButton.OnCheckedChangeListener&#123;

&nbsp;&nbsp;&nbsp;&nbsp;public void onCheckedChanged(CompoundButton buttonView,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean isChecked) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("isChecked===>" + isChecked);

&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&#125;

&nbsp;&nbsp;// RadioGroup监听器
&nbsp;&nbsp;class RadioGroupListener implements OnCheckedChangeListener&#123;

&nbsp;&nbsp;&nbsp;&nbsp;public void onCheckedChanged(RadioGroup group, int checkedId) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO 自動生成されたメソッド・スタブ
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (checkedId == femaleButton.getId()) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("选中了femaleButton");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; else if (checkedId == maleButton.getId()) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("选中了maleButton");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&#125;

&nbsp;&nbsp;@Override
&nbsp;&nbsp;public boolean onCreateOptionsMenu(Menu menu) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;// Inflate the menu; this adds items to the action bar if it is present.
&nbsp;&nbsp;&nbsp;&nbsp;getMenuInflater().inflate(R.menu.main, menu);
&nbsp;&nbsp;&nbsp;&nbsp;return true;
&nbsp;&nbsp;&#125;

&#125;

</textarea><br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=%25E6%258E%25A7%25E4%25BB%25B6" rel="tag">控件</a>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?756</link>
<title><![CDATA[android学习笔记四-长度单位]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Wed, 18 Dec 2013 09:07:12 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?756</guid> 
<description>
<![CDATA[ 
	多选按钮（CheckBox）<br/>1、在XML文件中使用<CheckBox/>标签<br/>2、在代码当中使用CheckBox对象表示<br/>3、常用的 OnClickListener与 OnCheckedChangListener 监听器<br/><br/>第一季第八集<br/>http://www.marschen.com/forum.php?mod=viewthread&tid=14718<br/><br/>一、长度单位以及内外边距<br/>距离单位-px<br/>距离单位-dp(设备无关的长度单位,主要使用单位)<br/>距离单位-sp<br/>控件的外边距与内边距<br/><br/>dpi=dots per inch(dot/inch)<br/>dp=dip(Device Independent pixels) <br/>px=dp*(dpi/160)<br/><br/>外边距<br/>layout_margin&nbsp;&nbsp;&nbsp;&nbsp;外边距<br/>layout_marginTop&nbsp;&nbsp;上外边距<br/>layout_marginBottm&nbsp;&nbsp;下外边距<br/>layout_marginLeft&nbsp;&nbsp;左外边距<br/>layout_marginRight&nbsp;&nbsp;右外边距<br/><br/>内边距<br/>padding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;内边距<br/>paddingTop&nbsp;&nbsp;&nbsp;&nbsp;上内边距<br/>paddingBottom&nbsp;&nbsp;&nbsp;&nbsp;下内边距<br/>paddingLeft&nbsp;&nbsp;&nbsp;&nbsp;左内边距<br/>paddingRight&nbsp;&nbsp;&nbsp;&nbsp;右内边距<br/><br/><br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=%25E6%258E%25A7%25E4%25BB%25B6" rel="tag">控件</a>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?755</link>
<title><![CDATA[android学习笔记三]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Tue, 17 Dec 2013 03:19:25 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?755</guid> 
<description>
<![CDATA[ 
	2013/12/12<br/>--------------------<br/>第一季第七集<br/>http://www.marschen.com/forum.php?mod=viewthread&tid=14415&extra=page%3D1<br/><br/>一、控件布局初步<br/>1、布局分类<br/>Linear Layout&nbsp;&nbsp;线性<br/>Relative Layout&nbsp;&nbsp;相对布局<br/><br/>android:orientation="vertical" 垂直方向（1行、2行）<br/>android:orientation="horizontal" 水平方向（1列、2列）<br/><br/>horizontal->android:layout_width="match_parent"就会把第二个元素挤到屏幕外面<br/><br/>2、布局方法<br/>ListView&nbsp;&nbsp;列表<br/>GridView&nbsp;&nbsp;格子<br/><br/>2013/12/11<br/>--------------------<br/>View初步（第一季第六集）<br/>一、View类：是所有控件类的父类。每个控件都对应着一个类<br/>二、为控件绑定监听器<br/>1、获取代表控件的对象<br/>2、定义一个类，实现监听器接口<br/>3、生成监听器对象<br/>4、为控件绑定监听器对象<br/><br/>Activity初步<br/>Activity启动流程：<br/>Android操作系统→生成对象MainActivity.onCreate()<br/>&nbsp;&nbsp;↓&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;↓<br/>AndroidManifest.xml&nbsp;&nbsp;activity_main.xml<br/><br/>Andrioid技术体系结构<br/>一、Activity 界面UI<br/>二、Service 后台运行支持程序<br/>三、Content Provider<br/>数据共享：对外提供数据，并允许有需要的应用访问这些数据<br/>四、BroadcastReceiver<br/>应用程序监控器，监听系统的行为<br/><br/>1、存放资源文件:<br/>assets<br/>res：生成id<br/>2、应用程序的主配置文件<br/>AndroidManifest.xml<br/><br/>《Android视频教程》下载区<br/>http://www.marschen.com/forum.php?mod=forumdisplay&fid=2&page=2<br/><br/>http://www.marschen.com/forum.php?mod=viewthread&tid=14083<br/>《Android开发视频教程（重制版）》第一季第零集<br/><br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=%25E6%258E%25A7%25E4%25BB%25B6" rel="tag">控件</a>
]]>
</description>
</item><item>
<link>https://blog.zhoz.com/read.php?754</link>
<title><![CDATA[android学习笔记二]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[android]]></category>
<pubDate>Tue, 17 Dec 2013 03:06:58 +0000</pubDate> 
<guid>https://blog.zhoz.com/read.php?754</guid> 
<description>
<![CDATA[ 
	2013/12/9<br/>--------------------<br/>一、Activity的要点<br/>1、一个Activity就是一个类，并且这个类要继承Activity<br/>2、需要复写Activity的onCreate方法<br/>3、每一个Activity都需要在AndroidManifest.xml文件当中进行配置<br/>4、为Activity添加必要的控件<br/><br/>二、Activity和Intent<br/>1、Intent的基本作用：<br/>Intent对象包含以下元素<br/>.Component name 决定启动哪个组件（Service、Activity）名<br/>.Action 指定另外个Activity的动作，要做什么：打电话？编辑？等<br/>.Data<br/>.Category<br/>.Extras<br/>.Flags<br/><br/>模拟器启动不了的解决：<br/><br/>[2013-12-09 17:27:31 - A_helloworld] The connection to adb is down, and a severe error has occured.<br/>[2013-12-09 17:27:31 - A_helloworld] You must restart adb and Eclipse.<br/><br/>cd E:&#92;project&#92;Android&#92;soft&#92;adt-bundle-windows-x86&#92;sdk&#92;platform-tools&#92;<br/>adb start-server<br/>结束进程：tadb.exe<br/>Tags - <a href="https://blog.zhoz.com/tag.php?tag=%25E6%259C%25AF%25E8%25AF%25AD%25E8%25A7%25A3%25E9%2587%258A" rel="tag">术语解释</a> , <a href="https://blog.zhoz.com/tag.php?tag=%25E5%25BC%2582%25E5%25B8%25B8%25E5%25A4%2584%25E7%2590%2586" rel="tag">异常处理</a> , <a href="https://blog.zhoz.com/tag.php?tag=%25E6%25A8%25A1%25E6%258B%259F%25E5%2599%25A8" rel="tag">模拟器</a>
]]>
</description>
</item>
</channel>
</rss>