安卓开发-基本UI的设计使用

view体系如图:
这里写图片描述

《一.View的属性》

1.宽高:android:layout_width/height=”x”
                                      :  px
                                      :  dp:优先选择,不同屏幕会自动缩放
                                      :  match_parent:填满当前方向
                                      :  wrap_content:根据当前文本大小自动缩放

2.可见性:android:visibility=”x”  :visible:正常可见  
                                 :gone:  不可见,不占位,不可点击
                                 :invisible:  不可见,但可点击

3.边距:android:layout_margin|paddingleft/right/top/bottom=”x” :  px/dp

4.背景:android:background=”x”   : #F(透明度) FFF
                                :#FF FF FF FF
                                :@drawable/ic_launcher(类比R.drawable.ic_launcher)


5.android:layout_gravity/gravity=”x” :top/bottom/left/right
                                     :center/center_vertical/center_horizontal
                                     :fill/fill_vertical/fill_horizontal(只在各自方向上生效

《二:Android布局》

1.LinearLayout:线性布局(横向布局)

<LinearLayout 
    android:layout_width=”match_parent”
    android:layout_weight=”1”
    android:layout_height=”0dp”
    //控制布局方向:水平
    android:orientation=”horizontal” >
 <View
    android:layout_width=”0dp”
    //除指定长度,其余都为weight所瓜分
    android:layout_weight=”1”
    android:layout_height=”match_parent”
    android:background=”#F00” />
</LinearLayout>

2.RelativeLayout:相对(父/兄弟控件)布局

针对父控件:android:layout_centerHorizontal/vertical/inParent=”true”  :  横向/纵向/横纵居中

相对父控件:android:layout_alignParentTop/Bottom/Left/Right=”true” :  顶部/底部/左边/右边与父控件对齐




针对兄弟控件:android:layout_above/layout_below/layout_toLeftOf/layout_RightOf=“@id/兄弟控件名称” : 在兄弟控件的  上面/下面/左边/右边。

相对兄弟控件:android:layout_alignParent Top/Bottom/Left/Right=”@id/相对的那个兄弟控件的名称” :位于兄弟控件的  上边/下边/左边/右边。

3.FrameLayout:帧布局,越后面的叠在越前

4.absolutelayout: android:layout_x/y=”dp/px” : 绝对布局

5.tablelayout: 表格布局

《三:了解安卓的系统控件》

1.TextView的用法:

android:text=”x”                        :文本内容
android:textSize=”20dp”                 :文本大小
android:textColor=”#F00”                :文本颜色
android:textStyle=”normal/bold/italic”  :字体风格

android:lines=”1android:ellipsize=”end/start/middle”    :显示一行并且省略号位置在最后/开始/中间

android:singleLine=”true”               :文本再多只显示一行,多出部分显示省略号

android:typeface=”normal/sans/serif/monospace”  :字体风格


android:clickable=”true”
android:background=”#ccc”
android:onClick=”点击函数名“             :将TextView变成Button

2.EditText的用法:

android:hint=”请输入”        :提示
android:editable=”true”     :可编辑输入的
android:maxLength=”50”      :最多输入几个数
android:inputType=”number/textPassword/numberPassword”   :只能输入数字/不可见文本/不可见数字

3.选择框:

3.1:状态切换按钮
<ToggleButton
       android:textOn=”开”
       android:textOff=”关”
       android:checked=”true” />
3.2:单选框
<RadioGroup
      android:id=”@+id/sex_rgandroid:width=”wrap_content”
      android:height=”wrap_content”
      android:orientation=”vertical” >
             <RadioButton
    android:id=”@+id/rb1android:width=”wrap_content”
        android:height=”wrap_content”
    android:checked=”true”
    android:text=”男”  />
</RadioGroup>



RadioGroup rg = (RadioGroup)findViewById(R.id.sex_rg);
rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){
      public void onCheckedChange(RadioGroup group, int checkedId){
    if(checkedId == R.id.rb1){
        //具体代码
       }
     }
 };
3.3:多选框:
<checkBox
       android:id=”@+id/cbx1”
       android:width=”wrap_content”
       android:height=”wrap_content”
       android:text=”选择“  />


CheckBox cbx1 = (CheckBox)findViewById(R.id.cbx1);
cbx1.setOnCheckChangeListener(new CompoundButton.OnCheckedChangeListener(){
       public void OnCheckChange(CompoundButton butonView, boolean isChecked{
                //响应代码
        }
});

4.进度条:

<progressBar
       style=”?android:attr/progressBarStyle     Small/Inverse/Large “ />
<progressBar
       style=”?android:attr/progressBarstyleHorizontalandroid:max=”100”
       android:progress=”20” />

<SeekBar
        android:max=”200”
        android:progress=”100” />

<RatingBar
         android:numStars=”5”     //总共几颗星
         android:stepSize=”0.3”    //单步长度
         android:rating=”3”   />     //已亮几颗星

5.图片控件:

<ImageView
     android:src=”@drawable/ic_launcher”    //设置图片
     android:scaleType=”fixXY”  />          //图片站位方式,很多种,如图:

这里写图片描述

6.滑动控件:

<ScrollView/HorizontalScrollView
     android:width=”match_parent”
     android:height=”match_parent”

     <LinearLayout
         android:width=”match_parent”
         android:height=”match_parent” >

              <TextView>
              <TextView>
      </LinearLayout>

<ScrollView/HorizontalScrollView />

ScrollView 和HorizontalScrollView只能容纳一个子控件,可用LinearLayout等嵌套控件

7.DataPicker和TimePicker的使用:

<DatePicker/TimerPicker
      android:id=”@+id/datePicker1”
      android:width=”wrap_content”
      android:height=”wrap_content” />


DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker1);
datePicker.init(2012, 11, 2, new OnDateChangeListener(){
       public void onDateChange(DatePicker view, int year, int monthOfYear, int dayOfMonth){
                String text=”” + Year + “年” + (monthOfYear + 1)  + “月” +  dayOfMonth + “日”;
       }
});


TimePicker timerPicker =(TimePicker)findViewById(R.id.datePicker1);
timePicker.setIs24HourView(true);  //设置成24小时模式.
timePicker.setOnTimeChangedListener(new OnTimeChangedListener(){
       public void onTimeChange(TimePicker view , int hourOfDay, int minute){
          //时分的使用
        }
});

8.WebView的使用:

1.配置上网权限:
<uses-permission android:name=”android.permission.INTERNET” />
2.布局:
<WebView 
    android:width=”match_parent”
    android:height=”match_parent” />
3.代码控制:
WebView webView = (WebView)findViewById(R.id.webView);

//1.加载网页
webView.loadUrl(“http://www.taobao.com/”);
//2.处理跳转不要打开新的浏览器,在本界面中即可
webView.setWebViewClient(new WebViewClient(){
        public boolean shouldOverrideUrlLoading(WebView view, String url){
               view.load(url);
               return true;//放回true,告诉系统不要打开新的浏览器,自己处理
        }
});
//3.网页控件默认不支持js,需手动设置
webView.getSettings().setJavaScriptEbabled(true);
//4.网页控件默认不支持弹出框alert(),prompt(),confirm()等,但是html5的弹出框默认是支持的
webView.setWebZChromeClient(new WebChromeClient(){
      public boolean onJsAlert(WebView view, String url, String message,JsResult result){
               //原生弹出框代替自动生成的
               return  ...;
          }
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值