安卓常用的布局 XML
常用的控件
按钮 Button
不可输入文本显示框 TextView
可输入文本显示框 EditText
图片 ImageView
指定布局控件大小
android:layout_width="match_parent"
android:layout_height="match_parent"
match_parent与fill_parent作用一样,让空间布满整个屏幕
指定布局控件位置
android:layout_gravity="center" //layout中 中心对齐
android:gravity="center" //本控件中 文字中心对齐 如textview 中加上 就是textview中文字中心对齐
android:layout_marginTop="50dp" //距上面控件 50dp
android:layout_centerVertical="true" //垂直方向 中心对齐 layout中使用
="20dp" //布局控件 上面与别的控件 间距 20dp
android:paddingLeft="10dip" //自己控件内 距离
android:paddingRight="10dip"
android:paddingTop="10dip"
android:paddingBottom="10dip"
布局中文本
android:textColor="#ffffff" //颜色
android:text=“@string/hh” //文本内容
布局的背景
android:background="@drawable/button_back" //对应png图片
android:background="0xffffff" //白色背景
图片布局 图片来源 <ImageView
"@drawable/me" //ImageView对应的图片
布局分布管理 常用
线型 LinearLayout
"horizontal" //对齐方式
相对 RelativeLayout
android:layout_alignParentBottom="true" //允许控件底部对齐,紧贴底部
android:gravity="bottom" //底部对齐
@id/tab_container" //某个控件上方
文本布局特有
android:maxLines ="1" //文本 最大 一行
android:hint="输入号码" //输入框 默认提示文字
//输入密码
EditView
边框去掉 android:background="@null" 或者 #ffffff
禁止弹出输入法
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)
默认显示的 文字和文字颜色
android:hint="搜索洗车行"
android:textColorHint="@color/white"
输入的文字的 颜色和字体大小
android:textColor="@color/white"
android:textSize="15sp"
设置按钮为 通明背景
<Button
android:layout_width="30dp"
android:layout_height="30dp"
android:background="#00000000"
/>
控件是否显示出来
android:visibility="gone"
visible显示;invisible显示黑背景条;gone不显示
scrollView滚动条 隐藏
android:scrollbars="none"
setVerticalScrollBarEnabled(false);实现滚动条隐藏.
android:fillViewport="true" 解决scrollview中 match_parent不能铺面整个屏幕
ListView一些属性
android:divider="@null" <!-- listview之间没有分割线 -->
android:listSelector="#00000000" <!-- 点击listview时 没有黄色背景 -->
android:descendantFocusability="blocksDescendants" <!-- listview根布局 这样即使有Button等 item也会获得焦点 响应 -->
scrollview 与 listView冲突的解决办法
<ScrollView >
<LinearLayout>
<ListView>
</ListView>
</LinearLayout>
</ScrollView >
然后在代码中这样设置
int totalHeight = 0;
for (int i = 0, len = mAdapter.getCount(); i < len; i++) { //listAdapter.getCount()返回数据项的数目
View listItem = mAdapter.getView(i, null, mListView);
listItem.measure(0, 0); //计算子项View 的宽高
totalHeight += listItem.getMeasuredHeight(); //统计所有子项的总高度
}
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, totalHeight+(mAdapter.getCount()-1) * mListView.getDividerHeight());
mListView.setLayoutParams(lp1);
其中50是每行的高度,根据自己的listview实际高度进行调节
PopupWindow 加ScrollView 控件不能滑动解决 使用下面布局
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_popup"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#444444">
</LinearLayout>
</ScrollView>
</LinearLayout>
一、底部TAB,早期的时候Android开发者们都会使用TabActivity去实现,但是TabActivity存在一些问题,请优先考虑使用Fragement。
二、顶部TAB,一般也是3-5个左右,相对于底部TAB风格,顶部TAB一般会引入ViewPager + Fragment的实现方式,这样可以做到左右切换。
三、侧边TAB,也就是SlidingMenu + Fragment或者MenuDrawer + Fragment。
安卓虚拟机加速器 intel的 包含window、linux、MAC
https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager
RelativeLayout里的gravity不能居中的解决方法
每个子组件里加上android:layout_centerHorizontal="true"
TextView 做的跑马灯 水平滚动
若要让TextView里的文本滚动,必须满足以下几个因素:
1,TextView里文本长度要超过TextView的长度
2,设置水平滚动 android:ellipsize="marquee"
3,只有在TextView获取到焦点时,才会滚动.所以加上android:focusableInTouchMode="true" android:focusable="true"
4,滚动重复次数设置: android:marqueeRepeatLimit="marquee_forever" //这个不设置也是无限滚动
这个如果不行,就用云盘中跑马灯的例子,设置一个MarqueTextView,return 焦点