Android基础一

1.列表分页的情况下,根据屏幕的高度和字体大小来确定每页显示多少行,按如下步骤:

 //getWindowManager()获取显示定制窗口的管理器,getDefaultDisplay()获取默认显示Display对象
 Display display = getWindowManager().getDefaultDisplay();
 //屏幕宽度
 int defaultWidth = display.getWidth();
 //屏幕高度除去顶部的查询条件
 int defaultHeight = display.getHeight();
 //如果该页面不只有列表,比如说列表上方还有查询条件,可以乘以相应的百分比
 int defaultHeight = (int)(display.getHeight()*0.8);
 //获取当前字体的大小
 float mCurTextSize = new TextView(this).getTextSize();//this指当前的上下文,如Activity
 Paint paint = new Paint();  
 paint.setTextSize(mCurTextSize);  
 FontMetrics fm = paint.getFontMetrics();
 //当前字体的实际高度
 int height = (int)Math.ceil(fm.descent - fm.ascent);
 //确定行高,根据实际需要
 int lineHeight = (int)height*2;
 //确定每面能显示多少行
 int lineNum = defaultHeight/height;

2.标题、状态栏的隐藏
 1)标题栏隐藏,在Activity.setContentView()方法之前加:
 requestWindowFeature(Window.FEATURE_NO_TITLE);
 2)状态栏隐藏(全屏),在Activity.setContentView()方法之前加:
  //定义全屏参数
  int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN;
  //获取窗口对象
  Window myWindow = this.getWindow();
  //设置Flag标识
  myWindow.setFlags(flag, flag); 

3.页面之前的切换
 1)直接换布局文件即可,setContentView(R.layout.XXX);
 2)使用Intent对象:
 //new 一个Intent对象
 Intent intent = new Intent();
 //从当前activity FromActivity,跳到ToActivity
 intent.setClass(FromActivity.this,ToActivity.class);
 //new 一个Bundle对象,并将要传递的数据传入 
 Bundle bundle = new Bundle();
 bundle.putDouble("height",162);
 bundle.putString("sex",'nv');
 //将Bundle对象assign给Intent
 intent.putExtras(bundle);
 //调用一个新的activity
 startActivity(intent);
 //关闭当前activity
 FromActivity.this.finish();
 
 在ToActivity页面取传来的参数
 Intent intent = this.getIntent();
 //取得Intent中的Bundle对象
 Bundle bundle = intent.getExtras();
 //取得Bundle对象中的数据
 String sex = bundle.getString("sex");
 double height = bundle.getDouble("height");
 
 再返回到之前的activity,可以加个“返回”按钮,在其点击事件中写:
 ToActivity.this.setResult(RESULT_OK,intent);
 ToActivity.this.finish();
  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值