c# 程序员学习android(2)登陆界面

上次说的是引导界面本次我们说说登陆界面


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);
    }
}
源码下载

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值