c# 程序员学习android(2)登陆界面
2015-08-19 10:39
381 查看
上次说的是引导界面本次我们说说登陆界面
android的登陆界面很多。我想做一个类似于qq的但是头像是圆形的这种,下面是样图
我想做成这样的,这里有两个技术难点,一个是这个圆形的图,一个是下面的用户名的输入框的样式
原型图需要用程序截取。下面的输入框要放按钮我们先说圆形的图
截面中调用
下面是一个类,直接界面调用就可以,
android的登陆界面很多。我想做一个类似于qq的但是头像是圆形的这种,下面是样图
我想做成这样的,这里有两个技术难点,一个是这个圆形的图,一个是下面的用户名的输入框的样式
原型图需要用程序截取。下面的输入框要放按钮我们先说圆形的图
截面中调用
<com.example.ineeq.RoundImageView android:layout_height="60dp" android:layout_width="60dp" android:src="@drawable/girl" android:id="@+id/roundImage_network"/>上面是头像的界面调用,
下面是一个类,直接界面调用就可以,
package com.example.ineeq; import com.example.ineeq.R; import android.app.ActionBar; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.FragmentTabHost; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.Menu; import android.view.MenuInflater; import android.view.View; import android.view.Window; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; public class MainTabs extends FragmentActivity { private FragmentTabHost mTabHost; private RadioGroup m_radioGroup; String tabs[] = {"Tab1","Tab2","Tab3","Tab4","Tab5"}; Class cls[] = {Fragment1.class,Fragment2.class,Fragment3.class,Fragment4.class,Fragment5.class}; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main_tabs); //更改标题处理 ActionBar actionBar = getActionBar(); actionBar.show(); init(); } private void init() { mTabHost = (FragmentTabHost)this.findViewById(android.R.id.tabhost); mTabHost.setup(this,getSupportFragmentManager(), R.id.realtabcontent); mTabHost.getTabWidget().setVisibility(View.GONE); for(int i=0;i<tabs.length;i++){ // View tabView = this.getLayoutInflater().inflate(R.layout.tab_indicator, null); mTabHost.addTab(mTabHost.newTabSpec(tabs[i]).setIndicator(tabs[i]),cls[i], null); } m_radioGroup = (RadioGroup) findViewById(R.id.main_radiogroup); m_radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch(checkedId){ case R.id.RadioButton0: mTabHost.setCurrentTabByTag(tabs[0]); break; case R.id.RadioButton1: mTabHost.setCurrentTabByTag(tabs[1]); break; case R.id.RadioButton2: mTabHost.setCurrentTabByTag(tabs[2]); break; case R.id.RadioButton3: mTabHost.setCurrentTabByTag(tabs[3]); break; case R.id.RadioButton4: mTabHost.setCurrentTabByTag(tabs[4]); break; } } }); ((RadioButton) m_radioGroup.getChildAt(0)).toggle(); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options, menu); return super.onCreateOptionsMenu(menu); } @Override public void onOptionsMenuClosed(Menu menu) { /** * 每次菜单被关闭时调用. (菜单被关闭有三种情形,menu按钮被再次点击、back按钮被点击或者用户选择了某一个菜单项) TODO * Auto-generated method stub */ super.onOptionsMenuClosed(menu); } }源码下载
相关文章推荐
- 剑指offer——面试题26:复杂链表的复制
- 黑马程序员——java基础——集合框架(二)
- 黑马程序员-----OC学习之Foundation中的类
- c# 程序员学习android(1)引导界面--viewpager的使用
- 面试题54——表示数值的字符串
- 字符串面试题(一)字符串逆序
- 关于数组的几道面试题
- 程序员爱情文学
- 程序员爱情文学
- Android面试资料集锦
- 面试题整理:SQL(二)
- 简直offer-第四章解决面试题思路(二叉树中和为某一值的路径)
- 程序员常去的顶级开发社区
- 海量数据处理:十道面试题与十个海量数据处理方法总结
- OSChina 周三乱弹 —— 给程序员的一副对联
- 【LeetCode-面试算法经典-Java实现】【145-Binary Tree Postorder Traversal(二叉树非递归后序遍历)】
- 【LeetCode-面试算法经典-Java实现】【144-Binary Tree Preorder Traversal(二叉树非递归前序遍历)】
- 【LeetCode-面试算法经典-Java实现】【143-Copy List with Random Pointer(有随机指针的链表复制)】
- 【LeetCode-面试算法经典-Java实现】【142-Linked List Cycle II(单链表中有环II)】
- 【LeetCode-面试算法经典-Java实现】【141-Linked List Cycle(单链表中有环)】