安卓顶部标题

package com.example.widget;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.LinearLayout;
public class MyIndTitle extends LinearLayout {

public MyIndTitle(Context context, AttributeSet attrs, int defStyle) {
  super(context, attrs, defStyle);
  // TODO Auto-generated constructor stub
 }

public MyIndTitle(Context context) {
  super(context);
  // TODO Auto-generated constructor stub
 }

private int everyMargin=20;//??????????20.
 private int topMargin=20;//????20??
 public int allWith;
 private int allWidth;
 private int allHeight;
 public MyIndTitle(Context context, AttributeSet attrs) {
  super(context, attrs);
  // TODO Auto-generated constructor stub

}
 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  // TODO Auto-generated method stub
  super.onMeasure(widthMeasureSpec, heightMeasureSpec);
  int childCount = getChildCount();
  allWidth = getMeasuredWidth();
  for (int i = 0; i <childCount; i++) {
   View view = getChildAt(i);
   view.measure(MeasureSpec.UNSPECIFIED,MeasureSpec.UNSPECIFIED);
  }
  setMeasuredDimension(allWidth,allHeight);
 }
 @Override
 protected void onLayout(boolean changed, int l, int t, int r, int b) {
  // TODO Auto-generated method stub
  super.onLayout(changed, l, t, r, b);
  Log.e("para",allWidth+"");
  for (int i = 0; i <getChildCount(); i++) {
   View childView = getChildAt(i);
   if(i==0){
    topMargin=20;//???????20 ?????ж???
    childView.layout(everyMargin,topMargin,everyMargin+childView.getMeasuredWidth(),topMargin+childView.getMeasuredHeight());

}
   else {
    View prechildView = getChildAt(i-1);
    int x=prechildView.getRight()+everyMargin;
    if(x+childView.getMeasuredWidth()+everyMargin<=allWidth){
     childView.layout(x, topMargin,x+childView.getMeasuredWidth(),topMargin+childView.getMeasuredHeight());
    }
    else {
     childView.layout(everyMargin,prechildView.getBottom()+20,everyMargin+childView.getMeasuredWidth(),prechildView.getBottom()+20+childView.getMeasuredHeight());
     topMargin=prechildView.getBottom()+20;
     allHeight=prechildView.getBottom()+20+childView.getMeasuredHeight();//????????????
    }
   }}

}

@Override
 protected void dispatchDraw(Canvas canvas) {
  // TODO Auto-generated method stub
  super.dispatchDraw(canvas);
 }

}

时间: 2024-12-28 20:45:42

安卓顶部标题的相关文章

去掉Android新建项目的顶部标题

[ 去掉Android新建项目的顶部标题] 使用NoActionBar的Theme即可. 参考:http://blog.csdn.net/u012246458/article/details/52997727

ViewPager顶部标题控件PagerSlidingTabStrip

最近搞一个项目,要求做一个和网易新闻顶部菜单的滑动效果,如图: 顶部标题中下面有个红色的矩形小条,左右滑动时会跟随手势动态滑动,效果很绚丽,唉,特效啊! 自己搞了一上午无果,还是是github上找大神吧,最后发现了PagerSlidingTabStrip这个库,如下图: 顶部就是用的PagerSlidingTabStrip下面是用ViewPager实现的,红色矩形条可以跟着屏幕的滑动而滑动,效果同样非常炫,最重要的是使用非常方便,引入library方式或者自己整理出来都可以,很方便很实用,Git

顶部标题TabLayout点击切换Fragment

顶部标题TabLayout点击切换Fragment 加依赖: 在开始之前先调用工具插件:右键工程>Open Module Settings>Dependencies>+>Library Dependency>导人(com.android.support:design:27.0.2)>ok implementation 'com.android.support:design:27.0.2' =========================================

项目中通用的顶部标题和返回的TitleBar

1. 定义布局文件,在layout下新建title_bar_view.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_he

安卓顶部标题栏自定义

public void onCreate(Bundle savedInstanceState) { setTheme(R.style.CustomTheme); super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TIT

ExtJS5_主界面上加入顶部和底部区域

为主界面加一个顶部区域和底部区域.一个管理系统的界面可以粗分为顶部标题部分.中间数据展示和处理的部分.底部备注和状态部分. 在增加这二个区域之前,我们先在MainModel.js中加入一些数据. Ext.define('app.view.main.MainModel', { extend : 'Ext.app.ViewModel', alias : 'viewmodel.main', data : { name : 'app', // 系统信息 system : { name : '工程项目合同

仿今日头条最强顶部导航指示器,支持6种模式-b

项目中经常会用到类似今日头条中顶部的导航指示器,我也经常用一个类似的库PagerSlidingTabStrip,但是有时并不能小伙伴们的所有需求,所以我在这个类的基础上就所有能用到的情况做了一个简单的封装.大家知道做一个功能比较简单,但是封装好几种功能到一个类里面就需要处理的好多逻辑了,所以对于小编这种小白也是花了好久的业余时间才搞完的,希望大家能够多多支持,更希望我的绵薄之力能够帮助大家.源码和Demo已经上传到github了,欢迎大家多多fork和star. github地址:https:/

跟我一起学extjs5(05--主界面上加入顶部和底部区域)

跟我一起学extjs5(05--主界面上加入顶部和底部区域) 这一节为主界面加一个顶部区域和底部区域.一个管理系统的界面可以粗分为顶部标题部分.中间数据展示和处理的部分.底部备注和状态部分. 在增加这二个区域之前,我们先在MainModel.js中加入一些数据. Ext.define('app.view.main.MainModel', { extend : 'Ext.app.ViewModel', alias : 'viewmodel.main', data : { name : 'app',

4、手把手教你Extjs5(四)主界面上加入顶部和底部区域

这一节为主界面加一个顶部区域和底部区域.一个管理系统的界面可以粗分为顶部标题部分.中间数据展示和处理的部分.底部备注和状态部分. 在增加这二个区域之前,我们先在MainModel.js中加入一些数据. Ext.define('app.view.main.MainModel', { extend: 'Ext.app.ViewModel', alias: 'viewmodel.main', data: { name: 'app', // 系统信息 system: { name: '工程项目合同及资金