android常用布局设置

安卓常用的布局 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中使用

    android:layout_marginTop="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

    android:src="@drawable/me"                            //ImageView对应的图片


布局分布管理 常用

线型  LinearLayout

    android:orientation="vertical"  "horizontal"       //对齐方式

相对 RelativeLayout

    android:layout_alignParentBottom="true"        //允许控件底部对齐,紧贴底部

    android:gravity="bottom"                              //底部对齐

    android:layout_above="@id/tab_container"    //某个控件上方



文本布局特有

    android:maxLines ="1"                    //文本  最大 一行

    android:hint="输入号码"                   //输入框 默认提示文字 

   android:inputType="textPassword"    //输入密码

EditView

边框去掉 android:background="@null"  或者 #ffffff

禁止弹出输入法

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 焦点


你可能感兴趣的:(安卓,小结,常用布局控件)