十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
// 使用代码布局
网站设计制作过程拒绝使用模板建站;使用PHP+MYSQL原生开发可交付网站源代码;符合网站优化排名的后台管理系统;网站制作、成都做网站收费合理;免费进行网站备案等企业网站建设一条龙服务.我们是一家持续稳定运营了十年的创新互联网站建设公司。
// root layout
LinearLayout root = new LinearLayout(this);
root.setOrientation(LinearLayout.VERTICAL);
// top layout
LinearLayout topLayout = new LinearLayout(this);
LinearLayout.LayoutParams topParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0);
topParams.weight = 1;
topLayout.setLayoutParams(topParams);
// left child
View leftView = new View(this);
leftView.setBackgroundColor(Color.RED);
LinearLayout.LayoutParams leftParams = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT);
leftParams.weight = 1;
leftView.setLayoutParams(leftParams);
topLayout.addView(leftView);
// right Layout
LinearLayout rightLayout = new LinearLayout(this);
rightLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams rightParams = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT);
rightParams.weight = 1;
rightLayout.setLayoutParams(rightParams);
// right top child
View rightTopView = new View(this);
rightTopView.setBackgroundColor(Color.YELLOW);
LinearLayout.LayoutParams rightTopParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0);
rightTopParams.weight = 1;
rightTopView.setLayoutParams(rightTopParams);
// add right top view
rightLayout.addView(rightTopView);
// right bottom child
View rightBottomView = new View(this);
rightBottomView.setBackgroundColor(Color.BLACK);
LinearLayout.LayoutParams rightBottomParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0);
rightBottomParams.weight = 1;
rightBottomView.setLayoutParams(rightBottomParams);
// add right bottom view
rightLayout.addView(rightBottomView);
// add right layout
topLayout.addView(rightLayout);
// add top layout
root.addView(topLayout);
// bottom layout
LinearLayout bottomLayout = new LinearLayout(this);
bottomLayout.setBackgroundColor(Color.BLUE);
LinearLayout.LayoutParams bottomParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0);
bottomParams.weight = 1;
bottomLayout.setLayoutParams(bottomParams);
root.addView(bottomLayout);
// setContentView(R.layout.activity_main);
setContentView(root);
android 使两个按钮水平排列的方法是使用lineLayout线性布局,如下代码:
?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:orientation="vertical"
View
android:layout_width="wrap_content"
android:layout_height="1.2px"
android:layout_marginBottom="7dp"
android:background="@color/white" /
LinearLayout
android:layout_width="fill_parent"
android:layout_height="79dp"
android:layout_weight="2"
android:orientation="horizontal"
android:layout_margin="10dp"
Button
android:id="@+id/bt1"
android:layout_width="fill_parent"
android:layout_height="26dp"
android:background="@drawable/shape"
android:layout_weight="1"
android:text="确认对冲"
android:textColor="@color/white"
android:textSize="15dp" /
Button
android:layout_width="fill_parent"
android:layout_height="26dp"
android:background="@drawable/shapeyuanjiao"
android:layout_weight="1"
android:text="取消"
android:textColor="@color/white"
android:textSize="15dp" /
/LinearLayout
/LinearLayout
运行结果如下:
Android在xml文件中可使用include包含其他定义好的布局, 可以将多处用到的布局单独出来,然后用include包含进来,这种包含方法相当于把原来布局的一部分代码独立出来,供大家共同使用,也就相当于面向对向中的类的概念差不多。下面我们逐步讲解include的作用。
先看下我们要实现的整体界面:
一、未使用Include时
通常情况下,我们直接就能写出布局代码,下面是所使用的XML代码:
[html] view plaincopy
?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
!-- 第一部分 --
TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ff0000"
android:text="第一个BTN" /
Button
android:id="@+id/mybutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" One Button " /
!-- 第二部分 --
TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00ff00"
android:text="第二个BTN" /
Button
android:id="@+id/mybutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" Second Button " /
!-- 最后的按钮 --
Button
android:id="@+id/another"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Another Button " /
/LinearLayout
这段代码理解起来一点难度没有,就是几个TextView和几个Button,下面我们用include把这段代码给分割成几个文件,并完成相同的效果;
二、使用Include时
1、先将上面代码标记有“第一部分”的,代码段分离成一个文件(sublayout1.xml);
[html] view plaincopy
?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#505050"
android:orientation="vertical"
TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ff0000"
android:text="第一个BTN" /
Button
android:id="@+id/mybutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" One Button " /
/LinearLayout
2、再将标记有“第二部分”的代码段,分离成第二个文件(sublayout2.xml):
[html] view plaincopy
?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00ff00"
android:text="第二个BTN" /
Button
android:id="@+id/mybutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=" Second Button " /
/LinearLayout
3、主文件中使用include,将上面两个文件包含进去(activity_main.xml);
[html] view plaincopy
?xml version="1.0" encoding="utf-8"?
LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
include
android:id="@+id/main1"
layout="@layout/sublayout1" /
include
android:id="@+id/main2"
layout="@layout/sublayout2" /
Button
android:id="@+id/another"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Another Button " /
/LinearLayout
这样就实现了相同的效果,这里可以看到,include并没有其它的功能,只是把一个XML布局引入进来当做自己的布局,跟直接把引用的这段代码写在include处的效果是一样的。
1.使用代码编写一个底部选项卡的布局
2.整个页面的容器布局(包含Fargment,分割线,选项卡)
private void initView(Context context) {
setBackgroundColor(0xfff6f6f6);
FrameLayout frameLayout=new FrameLayout(context);//选项界面容器
frameLayout.setId(FL_ID);
View lineView=new View(context);//分割线
lineView.setId(LINE_ID);
RelativeLayout.LayoutParams rlParams=new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
rlParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
rlParams.addRule(RelativeLayout.ABOVE , LINE_ID);
lineView.setBackgroundColor(lineColor);
RelativeLayout.LayoutParams rlParams2=new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, DensityUtils.dip2px(context, 1));
rlParams2.addRule(RelativeLayout.ABOVE , TAB_ID);
addView(frameLayout, rlParams);//选项界面容器
addView(lineView,rlParams2);//分割线
//选项卡容器
linearLayout=new LinearLayout(context);
linearLayout.setBackgroundColor(tabBgColor);
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
linearLayout.setGravity(Gravity.CENTER_VERTICAL);
linearLayout.setId(TAB_ID);
tabNum=tabIcos.length;
for (int i = 0; i tabNum; i++) {
View view = createIndicator(tabIcos[i], tabtxts[i], tabItemTvColor, "itemTag"+i, "icoTag" + i, "txtTag" + i);
view.setOnClickListener(OnClick);
if(i== nowTabIndex){//初始化选项卡
changeTab(view, i);
}
linearLay
你是想在activity的代码里写linearlayout么?
1、你可以在代码里面创建一个LinearLayout (比如 lineLayout1 ),然后针对这个变量进行设置
2、然后你需要通过findViewById()的方法,去查找xml定义好的那个ScrollView,把他放入一个变量中,如view1,当然前提是你要再xml里面给这个ScrollView起一个名字
3、调用view1.add(lineLayout1)方法把lineLayout1加进去
当然这是一个大方向,具体的代码细节你要再研究一下