Android布局控件的继承关系
常用属性
宽高
android:layout_width=“30dp”/“match_parent”/“wrap_content”
android:layout_height=“30dp”
盒子模型
padding:内边距
margin:外边距
重力
gravity:center 上下左右(布局设置)
layout_gravity:居中 上下左右(组件设置)
线性布局
常用属性:
方向:orientation (horizontal水平 vertical垂直)
权重:配合宽,高(宽高其中一个用0dp)
相对布局
特点:
有两种相对关系:相对父容器(7个属性 3个居中center 4个对齐align)
相对兄弟容器控件(8个属性 4个位置layout 4个对齐align)
帧布局 FrameLayout
特点:层层叠加覆盖
网格布局 GridLayout
特点:指定行列
常用属性:
行数:android:rowCount=“6”
列数:android:columnCount=“4”
跨列数:layout_columnSpan=“2”
跨行数:layout_rowSpan=“2”
列权重:layout_columnWeight=“1”
行权重:layout_rowWeight=“1”
代码实现
// An highlighted block
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1.2">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#4688BD"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@mipmap/t11" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="P2P活期账本"
android:textColor="#fff"
android:textSize="30dp"
android:layout_marginLeft="50dp"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@mipmap/t22"
android:layout_marginLeft="60dp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.7"
android:orientation="horizontal">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@mipmap/guang" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.2"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tozi" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="140dp"
android:src="@mipmap/xiangmu" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="0.8">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/changping"
android:scaleType="fitXY"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1.2">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tp1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="星火钱包(星火X100)"
android:textSize="18dp"
android:layout_marginTop="15dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="昨日收益"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="待收总额"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1.2">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tp1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="星火钱包(星火X100)"
android:textSize="18dp"
android:layout_marginTop="15dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="昨日收益"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="待收总额"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1.2">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tp1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="星火钱包(星火X100)"
android:textSize="18dp"
android:layout_marginTop="15dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="昨日收益"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="待收总额"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1.2">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tp1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="星火钱包(星火X100)"
android:textSize="18dp"
android:layout_marginTop="15dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="昨日收益"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="待收总额"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1.2"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tt1"
android:layout_weight="1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tt2"
android:layout_weight="1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tt3"
android:layout_weight="1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tt4"
android:layout_weight="1"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/tt5"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/b1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="上"/>
<Button
android:id="@+id/b2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="下"/>
<Button
android:id="@+id/b3"
android:layout_width="55dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:text="左"/>
<Button
android:id="@+id/b4"
android:layout_width="55dp"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:text="右"/>
<Button
android:id="@+id/b11"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_centerInParent="true"
android:text="中间"/>
<Button
android:id="@+id/b22"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_below="@id/b11"
android:layout_centerInParent="true"
android:text="下面"/>
<Button
android:id="@+id/b33"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_above="@id/b11"
android:layout_centerInParent="true"
android:text="上面"/>
<Button
android:id="@+id/b44"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_toLeftOf="@id/b11"
android:layout_centerInParent="true"
android:text="左面"/>
<Button
android:id="@+id/b55"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_above="@id/b33"
android:layout_centerInParent="true"
android:layout_toRightOf="@id/b3"
android:text="左上"
/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Frame_lianxiActivity">
<LinearLayout
android:id="@+id/id1"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center"
android:background="#FF0000"
android:orientation="horizontal"
android:visibility="invisible">
</LinearLayout>
<LinearLayout
android:id="@+id/id2"
android:layout_width="250dp"
android:layout_height="250dp"
android:orientation="horizontal"
android:layout_gravity="center"
android:background="#00FF00"
android:visibility="invisible">
</LinearLayout>
<LinearLayout
android:id="@+id/id3"
android:layout_width="200dp"
android:layout_height="200dp"
android:orientation="horizontal"
android:layout_gravity="center"
android:background="#0000FF"
android:visibility="invisible">
</LinearLayout>
<LinearLayout
android:layout_width="300dp"
android:layout_height="60dp"
android:orientation="horizontal"
android:layout_gravity="bottom"
android:layout_marginLeft="33dp"
android:layout_marginBottom="40dp">
<Button
android:id="@+id/but1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一页"
android:layout_gravity="center"
android:layout_marginLeft="60dp"
android:onClick="d1"/>
<Button
android:id="@+id/but2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一页"
android:layout_gravity="center"/>
</LinearLayout>
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center"
android:background="#FF0000"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:layout_width="250dp"
android:layout_height="250dp"
android:orientation="horizontal"
android:layout_gravity="center"
android:background="#00FF00">
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:orientation="horizontal"
android:layout_gravity="center"
android:background="#0000FF">
</LinearLayout>
<LinearLayout
android:layout_width="300dp"
android:layout_height="60dp"
android:orientation="horizontal"
android:layout_gravity="bottom"
android:layout_marginLeft="33dp"
android:layout_marginBottom="40dp">
<Button
android:id="@+id/but1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一页"
android:layout_gravity="center"
android:layout_marginLeft="60dp"/>
<Button
android:id="@+id/but2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一页"
android:layout_gravity="center"/>
</LinearLayout>
</FrameLayout>
//JAVA代码
package com.example.tx.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class allActivity extends AppCompatActivity {
Button btn1;
Button btn2;
Button btn3;
Button btn4;
Button btn5;
LinearLayout linearLayout1;
LinearLayout linearLayout2;
LinearLayout linearLayout3;
LinearLayout linearLayout4;
TextView text1;
ImageView imageView1;
RadioButton radioButton1;
RadioButton radioButton2;
RadioButton radioButton3;
RadioButton radioButton4;
TextView textView01;
TextView textView02;
TextView textView03;
TextView textView04;
TextView textView05;
TextView textView06;
ImageView yejian;
ImageView qiandao;
ImageView touxiang;
Button begin;
TextView wenbenyu;
ProgressBar jindutiao;
StringBuffer stringBuffer = new StringBuffer();
int sum = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_all);
wenbenyu = findViewById(R.id.dq);
jindutiao = findViewById(R.id.jdt);
linearLayout1 = findViewById(R.id.activityall);
linearLayout2 = findViewById(R.id.activity02);
linearLayout3 = findViewById(R.id.activity03);
linearLayout4 = findViewById(R.id.activity04);
text1 = findViewById(R.id.textddbh);
imageView1 = findViewById(R.id.xiaoshi);
imageView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
linearLayout1.setVisibility(View.INVISIBLE);
}
});
btn1 = findViewById(R.id.btn01);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "联系卖家", Toast.LENGTH_SHORT).show();
}
});
btn2 = findViewById(R.id.btn02);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "拨打电话", Toast.LENGTH_SHORT).show();
}
});
btn3 = findViewById(R.id.btnfz);
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, text1.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
btn4 = findViewById(R.id.btnscdd);
btn4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "删除订单", Toast.LENGTH_SHORT).show();
}
});
btn5 = findViewById(R.id.btnmlhq);
btn5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "卖了换钱", Toast.LENGTH_SHORT).show();
}
});
radioButton1 = findViewById(R.id.r01);
radioButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
linearLayout1.setVisibility(View.VISIBLE);
linearLayout2.setVisibility(View.GONE);
linearLayout3.setVisibility(View.GONE);
linearLayout4.setVisibility(View.GONE);
}
});
radioButton2 = findViewById(R.id.r02);
radioButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
linearLayout1.setVisibility(View.GONE);
linearLayout2.setVisibility(View.VISIBLE);
linearLayout3.setVisibility(View.GONE);
linearLayout4.setVisibility(View.GONE);
}
});
radioButton3 = findViewById(R.id.r03);
radioButton3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
linearLayout1.setVisibility(View.GONE);
linearLayout2.setVisibility(View.GONE);
linearLayout3.setVisibility(View.VISIBLE);
linearLayout4.setVisibility(View.GONE);
}
});
radioButton4 = findViewById(R.id.r04);
radioButton4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
linearLayout1.setVisibility(View.GONE);
linearLayout2.setVisibility(View.GONE);
linearLayout3.setVisibility(View.GONE);
linearLayout4.setVisibility(View.VISIBLE);
}
});
textView01 = findViewById(R.id.ling01);
textView02 = findViewById(R.id.ling02);
textView03 = findViewById(R.id.ling03);
textView04 = findViewById(R.id.kydf);
textView04.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "口语得分:"+textView01.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
textView05 = findViewById(R.id.ydps);
textView05.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "阅读篇数:"+textView02.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
textView06 = findViewById(R.id.tlsc);
textView06.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "听力时长:"+textView03.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
yejian = findViewById(R.id.yjms);
yejian.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "夜间模式", Toast.LENGTH_SHORT).show();
}
});
qiandao = findViewById(R.id.qd);
qiandao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "签到成功", Toast.LENGTH_SHORT).show();
}
});
touxiang = findViewById(R.id.tu1);
touxiang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(allActivity.this, "编辑头像", Toast.LENGTH_SHORT).show();
}
});
begin = findViewById(R.id.ksxz);
begin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new LoadFile().start();
}
});
}
class LoadFile extends Thread{
@Override
public void run() {
super.run();
try {
InputStream inputStream = getAssets().open("JiCheMeng.txt");
// InputStreamReader inputStreamReade = new InputStreamReader(inputStream,"UTF-8");
// BufferedReader bufferedReader = new BufferedReader(inputStreamReade);
int maxlength = inputStream.available();
jindutiao.setMax(maxlength);
int len = 0;
byte[] bytes = new byte[50];
while((len = inputStream.read(bytes))!=-1){
String s = new String(bytes,0,len);
stringBuffer.append(s);
sum += len;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
runOnUiThread(new Thread(){
@Override
public void run() {
super.run();
wenbenyu.setText(stringBuffer.toString());
jindutiao.setProgress(sum);
}
});
}
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}