按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点也都能说出了123来,但是这些孤立的点终究显得太零散了,因此,我想从今天开始,以最经典的手机安全卫士项目为例,自己锻炼一下,也是想和大家交流交流,希望大家都能给出见解,共同进步。
十一、应用程序的主界面
之前的完成以后,用户每次打开都会有更新提醒,这样对于用户来说是很烦的。用户体验就不是特别好了。<TextView style="@style/text_title_style" android:text="手机卫士" />
<style name="text_title_style"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">50dp</item> <item name="android:gravity">center</item> <item name="android:background">#8066ff00</item> <item name="android:textColor">#000000</item> <item name="android:textSize">20sp</item> </style>
<TextView style="@style/fill_wrap_style" android:singleLine="true" android:ellipsize="marquee" android:text="我是您的手机小卫士,专门保护您的手机,快些使用下面的功能吧,随时随地为您服务!"/>
<GridView style="@style/fill_style" android:id="@+id/gv_home" android:numColumns="3" ></GridView>
private static final String[] names = {"手机防盗","通讯卫士","软件管理","进程管理" ,"流量统计","手机杀毒","系统优化","高级工具","设置中心"}; private static final int[] icons = {R.drawable.safe,R.drawable.callmsgsafe,R.drawable.app,R.drawable.taskmanager ,R.drawable.netmanager,R.drawable.trojan,R.drawable.sysoptimize,R.drawable.atools,R.drawable.settings};
<ImageView android:id="@+id/iv_home_icon" android:layout_width="50dip" android:layout_height="50dip" android:src="@drawable/app" /> <TextView android:id="@+id/tv_home_name" style="@style/wrap_style" android:text="手机防盗" android:textColor="#000000" android:textStyle="bold" />
@Override public View getView(int position, View convertView, ViewGroup parent) { //把布局文件转化成View对象 View view = View.inflate(getApplicationContext(), R.layout.list_home_item, null); ImageView iv_home_icon = (ImageView) view.findViewById(R.id.iv_home_icon); iv_home_icon.setImageResource(icons[position]); TextView tv_home_name = (TextView) view.findViewById(R.id.tv_home_name); tv_home_name.setText(names[position]); return view; }
public int getCount() { return names.length; }
public class FocusTextView extends TextView { public FocusTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public FocusTextView(Context context, AttributeSet attrs) { super(context, attrs); } public FocusTextView(Context context) { super(context); } @Override @ExportedProperty(category = "focus") public boolean isFocused() { return true; } }