android 基础学习笔记2
1.容器布局
一。线性布局 (LineaLayout)
方向:orientation =vertical / horizontal
重力(对齐) :gravity =bottom/right/left 对应常亮值为整形(int)
对齐常亮可通过管道符连接
int gravitys=bottom|right 底部右对齐
权重:weight=1 使用权重时,对应的width或者height=0dp
二。相对布局(Ralativelayout)
相对位置而言的布局
对齐:
layout_alignParentRight=“true” 父容器对齐
layout_alignBaseLine="true" 机械对齐
layout_above="@id/~~" 父控件对齐
内外边距:
~~~~
(EditText 小技巧)
{
background设置背景透明去除下划线
透明色 #00000000
singleline=“true”单行输入
}
三。网格布局 帧布局 表格布局
1.表格布局(tablelayout)
行(tablerow)控制
组件属性:
layout_span=“2” 跨多列
layout_column=“2” 占第几列
2.帧布局 (Framelayout)
~~不作介绍
(textview 小技巧)
{
TextView。setvisibility(view.visible);
设置TextView组件是否可见
}
3.网格布局(Gridlayout)
属性:
rowcount=“4”
columncount=“4”
组件属性
layout_columnspan="2"
layout_gravity="fill"
占多列 row占多行
四。Drawerlayout 侧拉布局
实现需要先导入相关包 support libary (v4)
基本格式:
<android.support.v4.widget.DrawerLayout android:id="@+id/dl_layout" android:background="@android:color/holo_orange_light" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout ~属性>主页内容 </FrameLayout> <LineaLayout ~属性 layout_gravity=“start”>侧拉内容 </LineaLayout> </android.support.v4.widget.DrawerLayout>
五。滚动条 (scrollview)垂直
滚动条不可添加多个组件,但可添加容器容纳多个组件
Horizontalscrollview 水平滚动条
可能遇到的一些需求
好的,就不一个个扣文档了,直接说实际开发中可能会遇到的一些需求吧:
另外有一个很典型的问题就是:ScrollView和ListView的嵌套问题,这个放到ListView那一章节 再来讲解~
1.滚动到底部:
我们可以直接利用ScrollView给我们提供的:fullScroll()方法:
scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部
scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部
另外用这玩意的时候要小心异步的玩意,就是addView后,有可能还没有显示完, 如果这个时候直接调用该方法的话,可能会无效,这就需要自己写handler来更新了~
代码示例:
效果图:
实现代码:
布局比较简单,就不贴了,直接贴MainActivity MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn_down;
private Button btn_up;
private ScrollView scrollView;
private TextView txt_show;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bindViews();
}
private void bindViews() {
btn_down = (Button) findViewById(R.id.btn_down);
btn_up = (Button) findViewById(R.id.btn_up);
scrollView = (ScrollView) findViewById(R.id.scrollView);
txt_show = (TextView) findViewById(R.id.txt_show);
btn_down.setOnClickListener(this);
btn_up.setOnClickListener(this);
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 100; i++) {
sb.append("呵呵 * " + i + "\n");
}
txt_show.setText(sb.toString());
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_down:
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
break;
case