×

导航菜单代码 自定义 代码

寻求 添加自定义的导航二级菜单的代码 求赐教!~?Android如何自定义LinearLayout

admin admin 发表于2022-05-13 21:16:13 浏览152 评论0

抢沙发发表评论

寻求 添加自定义的导航二级菜单的代码 求赐教!~

你可到导航那里添加的喔!导航-------导航设置-------按右下角那个+号添加-----------你可在里面勾选你要在导航显示的分类即可-----------然后点确认-------发布就OK了哈

Android如何自定义LinearLayout

LinearLayout自定义方法有多种:

1、自定义xml布局,然后加载布局,自定义一个View继承LinearLayout

2、在自定义控件中声明它的所有子元素,然后在Layout文件中像使用LinearLayout一样去进行布局。

第二种比较烦 ,它需要在Layout文件中定义好子元素之后,要在代码 onFinishInflate() 进行匹配子元素。

我就说说加载布局文件的方法吧。

首先:定义好layout文件

《?xml version=“1.0“ encoding=“utf-8“?》《LinearLayout xmlns:android=“    android:layout_width=“fill_parent“    android:layout_height=“fill_parent“    android:orientation=“horizontal“ 》    《ImageView        android:id=“@+id/imageView1“        android:layout_width=“wrap_content“        android:layout_height=“wrap_content“        android:layout_gravity=“center_vertical“        android:paddingBottom=“5dip“        android:paddingLeft=“40dip“        android:paddingTop=“5dip“        android:src=“@drawable/right_icon“ /》    《TextView        android:id=“@+id/textView1“        android:layout_width=“wrap_content“        android:layout_height=“wrap_content“        android:layout_gravity=“center_vertical“        android:layout_marginLeft=“8dip“        android:text=“主题“        android:textColor=“#000000“ /》   《LinearLayout         android:layout_width=“100dp“    	android:layout_height=“fill_parent“    	android:orientation=“horizontal“ 》     《ImageView        android:id=“@+id/imageView2“        android:layout_width=“wrap_content“        android:layout_height=“wrap_content“        android:layout_gravity=“center_vertical“        android:paddingBottom=“5dip“        android:paddingLeft=“12dip“        android:paddingTop=“5dip“        android:src=“@drawable/home_icon“ /》     《ImageView        android:id=“@+id/imageView3“        android:layout_width=“wrap_content“        android:layout_height=“wrap_content“        android:layout_gravity=“center_vertical“        android:paddingBottom=“5dip“        android:paddingLeft=“12dip“        android:paddingTop=“5dip“        android:src=“@drawable/add_icon“ /》	《/LinearLayout》《/LinearLayout》
public class MyLinearLayout extends LinearLayout {	private ImageView imageView,iv_home,iv_add;	private TextView  textView;		public MyLinearLayout (Context context) {		super(context);		// TODO Auto-generated constructor stub	}	public MyLinearLayout (Context context, AttributeSet attrs) {		super(context, attrs);		// TODO Auto-generated constructor stub		LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);		inflater.inflate(R.layout.actionbar, this);		imageView=(ImageView) findViewById(R.id.imageView1);		iv_home=(ImageView) findViewById(R.id.imageView2);		iv_add=(ImageView) findViewById(R.id.imageView3);		textView=(TextView)findViewById(R.id.textView1);			}		/**      * 设置图片资源      */      public void setImageResource(int resId) {          imageView.setImageResource(resId);      }        /**      * 设置显示的文字      */      public void setTextViewText(String text) {          textView.setText(text);      }  }
《?xml version=“1.0“ encoding=“utf-8“?》《LinearLayout xmlns:android=“    android:layout_width=“fill_parent“    android:layout_height=“fill_parent“    android:orientation=“horizontal“ 》    《cn.com.demo.view.MyLinearLayout        android:id=“@+id/ll_actionbar“        android:layout_height=“fill_parent《span style=“font-family: Tahoma, ’Microsoft Yahei’, Simsun;“》“  《/span》        android:layout_width=“wrap_content“        android:background=“@drawable/bg“          /》《/LinearLayout》

接下来自定义一个MyLinearLayout继承LinearLayout,并且加载刚刚写好的layout文件。(比如private ImageView imageView,iv_home,iv_add;private TextView  textView;public MyLinearLayout (Context context) {super(context);// TODO Auto-generated constructor stub}public MyLinearLayout (Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stubLayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);inflater.inflate(R.layout.actionbar, this);imageView=(ImageView) findViewById(R.id.imageView1);iv_home=(ImageView) findViewById(R.id.imageView2);iv_add=(ImageView) findViewById(R.id.imageView3);textView=(TextView)findViewById(R.id.textView1);}/**      * 设置图片资源      */      public void setImageResource(int resId) {          imageView.setImageResource(resId);      }        /**      * 设置显示的文字      */      public void setTextViewText(String text) {          textView.setText(text);      }  }

最后,要的时候使用定义好的MyLinearLayout控件。-自定义

谁能给一段点击之后出现日历的代码

《html》《head》《title》《/title》《meta 《/head》《body bgcolor=“#FFFFFF“ text=“#000000“ leftMargin=“0“ topMargin=“0“》《script》Seperator = “-“;var DateStr = ““;// value为指定格式的日期字符串function SetDateFromCalendar(value){ if(top.frames.length》0) { top.frames(“mainFrame“).DateObjCtrl_SetDateValue(value);}else{parent.DateObjCtrl_SetDateValue(value);}DateStr = value;}// 返回日期字符串function public_getSelectedDate(){return DateStr;}《/script》《script language=“JavaScript“》var gdCtrl = new Object();var gcGray = “#808080“;var gcToggle = “#ffff00“;var gcBG = “#cccccc“;var gdCurDate = new Date();var giYear = gdCurDate.getFullYear();var giMonth = gdCurDate.getMonth()+1;var giDay = gdCurDate.getDate();var VicPopCal = new Object();// 显示日历控件function fPopCalendar(popCtrl, dateCtrl, popCal){parent.event.cancelBubble=true;VicPopCal = popCal; // 弹出日历控件的IDgdCtrl = dateCtrl; // 得到日期数字的控件ID, popCtrl是指定日期控件出现位置的标识fSetYearMon(giYear, giMonth); var point = fGetXY(popCtrl); // 得到popCtrl的坐标with (VicPopCal.style) {left = point.x;top = point.y+popCtrl.offsetHeight+1; // 设置日历控件的坐标visibility = ’visible’;}VicPopCal.focus();}// 隐藏日历控件, 设置gdCtrl的值, 单击今天日期后执行该函数// 直接得到日期字符串function fSetDate(iYear, iMonth, iDay){gdCtrl.value = iMonth+“-“+iDay+“-“+iYear; //Here, you could modify the locale as you need !!!!VicPopCal.style.visibility = “hidden“;}// 单击表格执行此函数function fSetSelected(aCell){ var iOffset = 0;var iYear = parseInt(tbSelYear.value);var iMonth = parseInt(tbSelMonth.value);aCell.bgColor = gcBG;// 此段代码,控制要是点中的不是当月的日期,自动得到前一个月或后一个月with (aCell.children[“cellText“]){var iDay = parseInt(innerText);if (color==gcGray)iOffset = (Victor《10)?-1:1;iMonth += iOffset;if (iMonth《1) {iYear--;iMonth = 12;}else if (iMonth》12){iYear++;iMonth = 1;}}// 获得年月日期数var dateText = parseInt(aCell.innerText);if(iMonth《10)iMonth = “0“ + iMonth;if(aCell.innerText《10)dateText = “0“ + dateText; // 将年月日组成指定字符串传给回传函数 SetDateFromCalendar(iYear + Seperator + iMonth + Seperator + dateText);}// 指定当前object的显示位置function Point(iX, iY){this.x = iX;this.y = iY;}// 建立当月的日期数组function fBuildCal(iYear, iMonth) { // 传过来的月加了1,表示下一月var aMonth=new Array();for(i=1;i《7;i++)aMonth[i]=new Array(i);// 创建当前月第一天日期对象var dCalDate=new Date(iYear, iMonth-1, 1);var iDayOfFirst=dCalDate.getDay();//得到该日是星期几var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();// 得到下一月var iOffsetLast=new Date(iYear, iMonth-1, 0).getDate()-iDayOfFirst+1;var iDate = 1;var iNext = 1;for (d = 0; d 《 7; d++)aMonth[d] = (d《iDayOfFirst)?-(iOffsetLast+d):iDate++;for (w = 2; w 《 7; w++)for (d = 0; d 《 7; d++)aMonth[w][d] = (iDate《=iDaysInMonth)?iDate++:-(iNext++);return aMonth;}// 画出星期title,和显示数据function fDrawCal(iYear, iMonth, iCellWidth, iDateTextSize) {var WeekDay = new Array(“日“,“一“,“二“,“三“,“四“,“五“,“六“);var styleTD = “ bgcolor=’“+gcBG+“’ width=’“+iCellWidth+“’ bordercolor=’“+gcBG+“’ valign=’middle’ align=’center’ style=’font:bold “+iDateTextSize+“ Courier;“; with (document) {write(“《tr》“);for(i=0; i《7; i++)write(“《td “+styleTD+“color:#990099’ 》“ + WeekDay[i] + “《/td》“);write(“《/tr》“);for (w = 1; w 《 7; w++) {write(“《tr》“);for (d = 0; d 《 7; d++) {write(“《td id=calCell “+styleTD+“cursor:hand;’ onMouseOver=’this.bgColor=gcToggle’ onMouseOut=’this.bgColor=gcBG’ onclick=’fSetSelected(this)’》“);write(“《font id=cellText Victor=’KinLee’》 《/font》“);write(“《/td》“)}write(“《/tr》“);}}}// 填入表格日期数据,可用的和不可用的用不同的底色来区分function fUpdateCal(iYear, iMonth) {myMonth = fBuildCal(iYear, iMonth); // 初始化当月的日期显示数组var i = 0;for (w = 0; w 《 6; w++)for (d = 0; d 《 7; d++)with (cellText[(7*w)+d]) { // cellText是表格的标识,都叫cellText,用下标来指示Victor = i++;if (myMonth[w+1][d]《0) {color = gcGray;innerText = -myMonth[w+1][d];}else{color = ((d==0)||(d==6))?“red“:“black“; // 星期六、日颜色为红色innerText = myMonth[w+1][d];}}}// 在下拉框中选中当前年和月, 然后更新数据显示function fSetYearMon(iYear, iMon){tbSelMonth.options[iMon-1].selected = true;for (i = 0; i 《 tbSelYear.length; i++)if (tbSelYear.options[i].value == iYear)tbSelYear.options[i].selected = true;fUpdateCal(iYear, iMon);}// 上一月function fPrevMonth(){var iMon = tbSelMonth.value;var iYear = tbSelYear.value;if (--iMon《1) {iMon = 12;iYear--;}fSetYearMon(iYear, iMon);}// 下一月function fNextMonth(){var iMon = tbSelMonth.value;var iYear = tbSelYear.value;if (++iMon》12) {iMon = 1;iYear++;}fSetYearMon(iYear, iMon);}function fGetXY(aTag){var oTmp = aTag;var pt = new Point(0,0);do {pt.x += oTmp.offsetLeft;pt.y += oTmp.offsetTop;oTmp = oTmp.offsetParent;} while(oTmp.tagName!=“BODY“);return pt;}var gMonths = new Array(“01“,“02“,“03“,“04“,“05“,“06“,“07“,“08“,“09“,“10“,“11“,“12“);//打印出年月日的显示的表格,之后再填入数字with (document) {write(“《table id=’popTable’ border=’0’ bgcolor=’#6699cc’》“);write(“《TR》“);write(“《td valign=’middle’ align=’center’》《input type=’button’ name=’PrevMonth’ value=’《’ style=’height:20;width:20;FONT:16 Fixedsys’ onClick=’fPrevMonth()’》“);write(“ 《SELECT name=’tbSelYear’ onChange=’fUpdateCal(tbSelYear.value, tbSelMonth.value)’ Victor=’Won’》“);for(i=2000;i《3000;i++)write(“《OPTION value=’“+i+“’》“+i+“《/OPTION》“);write(“《/SELECT》“);write(“ 《select name=’tbSelMonth’ onChange=’fUpdateCal(tbSelYear.value, tbSelMonth.value)’ Victor=’Won’》“);for (i=0; i《12; i++)write(“《option value=’“+(i+1)+“’》“+gMonths[i]+“《/option》“);write(“《/SELECT》“);write(“ 《input type=’button’ name=’NextMonth’ value=’》’ style=’height:20;width:20;FONT:16 Fixedsys’ onclick=’fNextMonth()’》“);write(“《/td》“);write(“《/TR》《TR》“);write(“《td align=’center’》“);write(“《DIV style=’background-color:teal;’》《table width=’100%’ border=’0’ cellpadding=’2’》“);fDrawCal(giYear, giMonth, 19, 12);write(“《/table》《/DIV》“);write(“《/td》“);write(“《/TR》《TR》《TD align=’center’》“);write(“《font style=’cursor:hand;font:12 Fixedsys’ onclick=’fSetDate(giYear,giMonth,giDay)’ onMouseOver=’this.style.color=gcToggle’ onMouseOut=’this.style.color=0’》今天是: “+giYear+“年“+gMonths[giMonth-1]+“月“+giDay+“日“+“《/font》“);write(“《/TD》《/TR》“);write(“《/TD》《/TR》“);write(“《/TABLE》“);}var today = new Date();// 用当前的日期更新月历显示fSetYearMon(today.getFullYear(), today.getMonth() + 1);// 填入表格日期数据,可用的和不可用的用不同的底色来区分//fUpdateCal(today.getFullYear(), today.getMonth() + 1);《/script》《/body》《/html》