`
XiangdongLee
  • 浏览: 91286 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

【攻克Android (4)】UI之基本控件

阅读更多
本文围绕以下十个部分展开:

一、一些基本概念
二、更改App默认图标
三、一些基本控件
四、UI开发步骤
五、TextView
六、EditText
七、Button和ImageButton
八、ImageView
九、Widgets(其他控件)

附  关于在Android真机上部署






一、一些基本概念

        1. UI

        User Interface - 用户接口/用户界面
        UI是用户能看见并可交互的组件。
        分为:系统UI,自定义UI。
        UI放在View和ViewGroup里面。

        2. View和ViewGroup

        View是屏幕上的一个矩形区域,负责绘制和事件处理;它是控件(widget)的基类。
        ViewGroup是View的子类,是不可见的容器,负责管理其他View及它们的布局属性;它是布局和视图容器的基类。








二、更改App默认图标







        更改之后,就会看到App图标已变为下图所示:




三、一些基本控件




四、UI开发步骤

        1. 在 res -> values -> strings.xml 中,定义所有所需的文本 【字符串】

 <resources>  
   <string name="app_name">UI</string>  
   
   <string name="hello_world">Hello world!</string>  
   <string name="action_settings">Settings</string>  
   
   <string name="text_view">TextView</string>  
   <string name="edit_text">EditText</string>  
   <string name="button">Button</string>  
   <string name="image_view">ImageView</string>  
   <string name="widgets">Widgets</string>  
 </resources>


        2. 在 res -> layout -> activity_main.xml 布局文件中,设计主活动布局 【布局】

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
                 xmlns:tools="http://schemas.android.com/tools"  
                 android:layout_width="match_parent"  
                 android:layout_height="match_parent"  
                 android:paddingLeft="@dimen/activity_horizontal_margin"  
                 android:paddingRight="@dimen/activity_horizontal_margin"  
                 android:paddingTop="@dimen/activity_vertical_margin"  
                 android:paddingBottom="@dimen/activity_vertical_margin"  
                 tools:context=".MainActivity">  
   <!-- 
   ListView :显示列表 (类似于HTML中的多行下拉列表框) 
   -->  
   <ListView  
       android:id="@+id/listView"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content">  
   </ListView>  
   
 </RelativeLayout>


        3. 创建主活动里面包含的其他Activity 【界面】

        创建一个新的Activity,需要进行以下四部分内容:
        (1)创建布局文件,如 activity_text_view
        (2)创建活动类,如 TextViewActivity
        (3)创建菜单文件,如 menu_text_view
        (4)在功能清单文件 AndroidManifest.xml 中,注册该Activity

        如下是创建 TextViewActivity 的步骤:









        同样的,以同样的方法接着创建 ButtonActivity、EditTextActivity、ImageViewActivity和WidgetsActivity。

        4.填写主活动类的事件,将主活动与其他活动关联起来 【事件】

        在活动类中写事件的时候,有以下几个小步骤:
        (1)声明变量(所用到、要关联的控件都在此声明)
        (2)初始化控件
        (3)初始化适配器(将适配器关联数据)
        (4)控件与适配器关联
        (5)写控件的事件
        (6)弹出显示指定文本(看是否需要弹出显示指定文本)
        (7)指定意图(由当前界面跳转至指定界面)
        (8)启动意图

 package com.xiangdong.ui;  
   
 import android.app.Activity;  
 import android.content.Intent;  
 import android.os.Bundle;  
 import android.view.Menu;  
 import android.view.MenuItem;  
 import android.view.View;  
 import android.widget.AdapterView;  
 import android.widget.ArrayAdapter;  
 import android.widget.ListView;  
   
   
 public class MainActivity extends Activity {  
     // 1.声明变量  
     private ListView listView;  
     private String[] data = {"TextView", "EditText", "Button", "ImageView", "Widgets"};  
     private Class[] actions = {TextViewActivity.class, EditTextActivity.class,  
             ButtonActivity.class, ImageViewActivity.class,  
             WidgetActivity.class};  
   
     // 创建适配器  
     private ArrayAdapter<String> adapter;  
   
     @Override  
     protected void onCreate(Bundle savedInstanceState) {  
         super.onCreate(savedInstanceState);  
         // 加载布局文件  
         setContentView(R.layout.activity_main);  
   
         // 2.初始化控件 (加载布局文件之后才能找到 id)  
         listView = (ListView) findViewById(R.id.listView);  
         // 3.初始化适配器(关联数据)  
         // 参数:上下文,资源id显示方式,显示数据  
         adapter = new ArrayAdapter<String>(this,  
                 android.R.layout.simple_list_item_1, data);  
         // 4.控件与适配器关联  
         listView.setAdapter(adapter);  
         // 5.控件的事件  
         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {  
             @Override  
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {  
                 // 6.弹出显示指定文本(类似于 JS 中 alert,但停留时间后自动隐藏)  
                 // 参数:上下文,指定显示文本,停留时间  
                 // 在内部类中显示当前活动的上下文:MainActivity.this  
                 // Toast.makeText(MainActivity.this, data[position],Toast.LENGTH_SHORT).show();  
   
                 // 7.指定意图(由当前界面跳转至指定界面)  
                 // position 是 ListView 控件选中选项的下标值  
                 Intent intent = new Intent(MainActivity.this, actions[position]);  
                 // 8.启动意图  
                 startActivity(intent);  
             }  
         });  
   
         // 6.在本类显示指定文本  
         // Toast.makeText(this, R.string.text_view,Toast.LENGTH_LONG).show();  
         // Toast.makeText(this, "asdf",Toast.LENGTH_SHORT).show();  
     }  
   
     @Override  
     public boolean onCreateOptionsMenu(Menu menu) {  
         // Inflate the menu; this adds items to the action bar if it is present.  
         getMenuInflater().inflate(R.menu.menu_main, menu);  
         return true;  
     }  
   
     @Override  
     public boolean onOptionsItemSelected(MenuItem item) {  
         // Handle action bar item clicks here. The action bar will  
         // automatically handle clicks on the Home/Up button, so long  
         // as you specify a parent activity in AndroidManifest.xml.  
         int id = item.getItemId();  
   
         //noinspection SimplifiableIfStatement  
         if (id == R.id.action_settings) {  
             return true;  
         }  
   
         return super.onOptionsItemSelected(item);  
     }  
 }


        代码说明:

        数据要显示到视图上,中间得有适配器。如下图所示。



        经过以上步骤开发之后的界面如下所示:




五、TextView

        1. TextView属性



        2.用代码实现,展示效果



        (1)在 strings.xml 中添加需要的文本

 <!-- TextView -->  
 <string name="normal_text">普通文本</string>  
 <string name="font_text">设置了字号,颜色及背景的文本</string>  
 <string name="image_text">文本周围显示图片</string>  
 <string name="link_text">自动链接及换行:\n电话:10010\nEmail:lxd12103@126.com\nURL:xiangdonglee.iteye.com</string>  
 <string name="show_text">显示文本的方式:最大、最小行数;是否单行;是否省略;跑马灯</string> 


        (2)在 activity_text_view.xml 布局文件中,设计布局

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
               xmlns:tools="http://schemas.android.com/tools"  
               android:layout_width="match_parent"  
               android:layout_height="match_parent"  
               android:orientation="vertical"  
               android:paddingBottom="@dimen/activity_vertical_margin"  
               android:paddingLeft="@dimen/activity_horizontal_margin"  
               android:paddingRight="@dimen/activity_horizontal_margin"  
               android:paddingTop="@dimen/activity_vertical_margin"  
               tools:context=".TextViewActivity">  
   
   <!--LinearLayout 线性布局  
   orientation:定位/方向  
   horizontal:水平线性布局(基于 X 轴对齐)  
   vertical:垂直线性布局(基于 Y 轴对齐)  
   -->  
   
   <TextView  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:gravity="center"  
       android:paddingTop="8dp"  
       android:text="@string/normal_text"/>  
   
   <TextView  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:background="@android:color/white"  
       android:paddingBottom="8dp"  
       android:paddingTop="8dp"  
       android:text="@string/font_text"  
       android:textColor="@android:color/holo_blue_bright"  
       android:textSize="18sp"/>  
   
   <TextView  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:drawableLeft="@android:drawable/ic_btn_speak_now"  
       android:paddingBottom="8dp"  
       android:paddingTop="8dp"  
       android:text="@string/image_text"/>  
   
   <TextView  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:autoLink="all"  
       android:linksClickable="true"  
       android:paddingBottom="8dp"  
       android:paddingTop="8dp"  
       android:text="@string/link_text"  
       android:textColorLink="@android:color/holo_orange_light"/>  
   
   <TextView  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:maxLines="3"  
       android:paddingBottom="8dp"  
       android:paddingTop="8dp"  
       android:text="@string/show_text"/>  
   
   <TextView  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:paddingBottom="8dp"  
       android:paddingTop="8dp"  
       android:singleLine="true"  
       android:text="@string/show_text"/>  
   
   <TextView  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:ellipsize="middle"  
       android:paddingBottom="8dp"  
       android:paddingTop="8dp"  
       android:singleLine="true"  
       android:text="@string/show_text"/>  
   <!-- ellipsize 省略的位置 (start/end/middle)-->  
   
   <!-- 跑马灯效果 -->  
   <!-- ellipsize=marquee:跑马灯效果 -->  
   <!-- focusableInTouchMode:触控获得焦点-->  
   <!-- focusable:可触控-->  
   <TextView  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:ellipsize="marquee"  
       android:focusable="true"  
       android:focusableInTouchMode="true"  
       android:paddingBottom="8dp"  
       android:paddingTop="8dp"  
       android:singleLine="true"  
       android:text="@string/show_text"/>  
 </LinearLayout>



六、EditText

        1. EditText属性



        2.用代码实现,展示效果

        (1)在 strings.xml 中添加需要的文本



 <!-- EditText-->  
 <string name="username_hint">用户名</string>  
 <string name="password_hint">密码</string>  
 <string name="phone_hint">手机号</string>  
 <string name="email">lxd12103@126.com</string>  
 <string name="remark_hint">备注</string>


        (2)在 activity_edit_text.xml 布局文件中,设计布局

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
                 xmlns:tools="http://schemas.android.com/tools"  
                 android:layout_width="match_parent"  
                 android:layout_height="match_parent"  
                 android:paddingLeft="@dimen/activity_horizontal_margin"  
                 android:paddingRight="@dimen/activity_horizontal_margin"  
                 android:paddingTop="@dimen/activity_vertical_margin"  
                 android:paddingBottom="@dimen/activity_vertical_margin"  
                 tools:context=".EditTextActivity">  
   
   <EditText  
       android:id="@+id/txtUsername"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:hint="@string/username_hint"  
       android:imeOptions="actionNext"/>  
   
   <EditText  
       android:id="@+id/txtPassword"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/txtUsername"  
       android:hint="@string/password_hint"  
       android:inputType="textPassword"/>  
   
   <EditText  
       android:id="@+id/txtPhone"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/txtPassword"  
       android:hint="@string/phone_hint"  
       android:inputType="phone"/>  
   
   <EditText  
       android:id="@+id/txtRemark"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/txtPhone"  
       android:hint="@string/remark_hint"  
       android:minLines="3"/>  
 
   <EditText  
       android:id="@+id/txtEmail"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/txtRemark"  
       android:hint="@string/phone_hint"  
       android:text="@string/email"  
       android:inputType="textEmailAddress"  
       android:selectAllOnFocus="true"/>  
 </RelativeLayout>



七、Button和ImageButton

        1. 用代码实现,展示效果



        (1)在 strings.xml 中添加需要的文本

 <!-- Button -->  
 <string name="btn_ok">Click me</string>  
 <string name="btn_less_border">无边框的按钮</string>


        (2)在 activity_button.xml 布局文件中,设计布局

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
                 xmlns:tools="http://schemas.android.com/tools"  
                 android:layout_width="match_parent"  
                 android:layout_height="match_parent"  
                 android:paddingLeft="@dimen/activity_horizontal_margin"  
                 android:paddingRight="@dimen/activity_horizontal_margin"  
                 android:paddingTop="@dimen/activity_vertical_margin"  
                 android:paddingBottom="@dimen/activity_vertical_margin"  
                 tools:context="com.xiangdong.ui.ButtonActivity">  
   
   <TextView  
       android:id="@+id/tvUsername"  
       android:text="@string/button"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"/>  
   
   <EditText  
       android:id="@+id/txtUsername"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/tvUsername"  
       android:hint="@string/username_hint"/>  
   
   <Button  
       android:id="@+id/btnOK"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/txtUsername"  
       android:text="@string/btn_ok"  
       android:drawableLeft="@android:drawable/alert_dark_frame"  
       android:onClick="clickMe"/>  
   
   <Button  
       android:id="@+id/btnLessBorder"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/txtUsername"  
       android:layout_alignParentRight="true"  
       android:text="@string/btn_less_border"  
       style="?android:borderlessButtonStyle"/>  
   
   <ImageButton  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_below="@id/btnOK"  
       android:src="@android:drawable/btn_minus"/>  
   
   <ImageButton  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_alignParentRight="true"  
       android:layout_below="@id/btnOK"  
       android:src="@android:drawable/btn_minus"  
       style="?android:borderlessButtonStyle"/>  
   
   <!-- 图片的文件名只能是字母 或 字母+数字 -->  
   <ImageView  
       android:layout_width="wrap_content"  
       android:layout_height="200dp"  
      android:layout_alignParentBottom="true"  
       android:src="@drawable/cameraapp"  
       android:contentDescription="@string/camera"/>  
   
 </RelativeLayout>



八、ImageView

        1. ImageView属性



        2.用代码实现,展示效果



        (1)在 strings.xml 中添加需要的文本

 <!-- ImageView -->  
 <string name="camera">Camera</string>


        (2)在 activity_image_view.xml 布局文件中,设计布局

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
                 xmlns:tools="http://schemas.android.com/tools"  
                 android:layout_width="match_parent"  
                 android:layout_height="match_parent"  
                 android:paddingLeft="@dimen/activity_horizontal_margin"  
                 android:paddingRight="@dimen/activity_horizontal_margin"  
                 android:paddingTop="@dimen/activity_vertical_margin"  
                 android:paddingBottom="@dimen/activity_vertical_margin"  
                 tools:context="com.xiangdong.ui.ImageViewActivity">  
   
   <LinearLayout  
       android:id="@+id/linearLayout1"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_alignParentLeft="true"  
       android:layout_alignParentStart="true"  
       android:layout_alignParentTop="true"  
       android:gravity="center"  
       android:orientation="horizontal">  
   
     <ImageView  
         android:layout_width="72dp"  
         android:layout_height="72dp"  
         android:background="@android:color/black"  
         android:scaleType="center"  
         android:src="@drawable/gps"  
         android:contentDescription="gps"/>  
   
     <View  
         android:layout_width="16dp"  
         android:layout_height="match_parent" />  
   
     <ImageView  
         android:layout_width="72dp"  
         android:layout_height="72dp"  
         android:background="@android:color/black"  
         android:scaleType="centerCrop"  
         android:src="@drawable/gps" />  
   
     <View  
         android:layout_width="16dp"  
         android:layout_height="match_parent" />  
   
     <ImageView  
         android:layout_width="72dp"  
         android:layout_height="72dp"  
         android:background="@android:color/black"  
         android:scaleType="centerInside"  
         android:src="@drawable/gps" />  
   
     <View  
         android:layout_width="16dp"  
         android:layout_height="match_parent" />  
   
     <ImageView  
         android:layout_width="72dp"  
         android:layout_height="72dp"  
         android:background="@android:color/black"  
         android:scaleType="matrix"  
         android:src="@drawable/gps" />  
   </LinearLayout>  
   
   <LinearLayout  
       android:id="@+id/linearLayout2"  
       android:layout_width="match_parent"  
       android:layout_height="64dp"  
       android:layout_alignParentLeft="true"  
       android:layout_alignParentStart="true"  
       android:layout_below="@+id/linearLayout1"  
       android:gravity="center_vertical"  
       android:orientation="horizontal">  
   
     <TextView  
         android:layout_width="0dp"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:gravity="center"  
         android:text="center" />  
   
     <TextView  
         android:layout_width="0dp"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:gravity="center"  
         android:text="centerCrop" />  
   
     <TextView  
         android:layout_width="0dp"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:gravity="center"  
         android:text="centerInside" />  
   
     <TextView  
         android:layout_width="0dp"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:gravity="center"  
         android:text="matrix" />  
   </LinearLayout>  
   
   <LinearLayout  
       android:id="@+id/linearLayout3"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_alignParentLeft="true"  
       android:layout_alignParentStart="true"  
       android:layout_below="@+id/linearLayout2"  
       android:gravity="center"  
       android:orientation="horizontal">  

     <ImageView  
         android:layout_width="72dp"  
         android:layout_height="72dp"  
         android:background="@android:color/black"  
         android:scaleType="fitCenter"  
         android:src="@drawable/gps" />  
   
     <View  
         android:layout_width="16dp"  
         android:layout_height="match_parent" />  
   
     <ImageView  
         android:layout_width="72dp"  
         android:layout_height="72dp"  
         android:background="@android:color/black"  
         android:scaleType="fitEnd"  
         android:src="@drawable/gps" />  

     <View  
         android:layout_width="16dp"  
         android:layout_height="match_parent" />  
   
     <ImageView  
         android:layout_width="72dp"  
         android:layout_height="72dp"  
         android:background="@android:color/black"  
         android:scaleType="fitStart"  
         android:src="@drawable/gps" />  
   
     <View  
         android:layout_width="16dp"  
         android:layout_height="match_parent" />  
   
     <ImageView  
         android:layout_width="72dp"  
         android:layout_height="72dp"  
         android:background="@android:color/black"  
         android:scaleType="fitXY"  
         android:src="@drawable/gps" />  
   </LinearLayout>  
   
   <LinearLayout  
       android:id="@+id/linearLayout4"  
       android:layout_width="match_parent"  
       android:layout_height="64dp"  
       android:layout_alignParentLeft="true"  
       android:layout_alignParentStart="true"  
       android:layout_below="@+id/linearLayout3"  
       android:gravity="center_vertical"  
       android:orientation="horizontal">  
   
     <TextView  
         android:layout_width="0dp"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:gravity="center"  
         android:text="fitCenter" />  
   
     <TextView  
         android:layout_width="0dp"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:gravity="center"  
         android:text="fitEnd" />  
   
     <TextView  
         android:layout_width="0dp"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:gravity="center"  
         android:text="fitStart" />  
   
     <TextView  
         android:layout_width="0dp"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:gravity="center"  
         android:text="fitXY" />  
   </LinearLayout>  
   
   <ImageView  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/linearLayout4"  
       android:layout_centerHorizontal="true"  
       android:src="@drawable/gps" />  
      
 </RelativeLayout>



九、Widgets(其他控件)

        1. 用代码实现,展示效果



        (1)在 strings.xml 中添加需要的文本

 <!-- Widgets -->  
 <string name="cb_sports">Sports</string>  
 <string name="cb_read">Read</string>  
 <string name="cb_game">Game</string>  
 <string name="rb_male">Male</string>  
 <string name="rb_female">Female</string>  
 <string name="switch_text">开关控件</string>


        (2)在 activity_widgets.xml 布局文件中,设计布局

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
                 xmlns:tools="http://schemas.android.com/tools"  
                 android:layout_width="match_parent"  
                 android:layout_height="match_parent"  
                 android:paddingLeft="@dimen/activity_horizontal_margin"  
                 android:paddingRight="@dimen/activity_horizontal_margin"  
                 android:paddingTop="@dimen/activity_vertical_margin"  
                 android:paddingBottom="@dimen/activity_vertical_margin"  
                 tools:context="com.xiangdong.ui.WidgetActivity">  
   
   <LinearLayout  
       android:id="@+id/hobbyLayout"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:orientation="horizontal">  
   
     <!-- 在线性布局中设置 权重:layout_weight 占整个的几份 -->  
     <CheckBox  
         android:id="@+id/cbSports"  
         android:layout_width="wrap_content"  
         android:layout_height="wrap_content"  
         android:text="@string/cb_sports"  
         android:layout_weight="1"/>  
   
     <CheckBox  
         android:id="@+id/cbGame"  
         android:layout_width="wrap_content"  
         android:layout_height="wrap_content"  
         android:text="@string/cb_game"  
         android:checked="true"  
         android:layout_weight="1"/>  
   
     <CheckBox  
         android:id="@+id/cbRead"  
         android:layout_width="wrap_content"  
         android:layout_height="wrap_content"  
         android:text="@string/cb_read"  
         android:layout_weight="1"/>  
   </LinearLayout>  
   
   <!-- RadioGroup类似于线性布局,只是进行了封装。 -->  
   <RadioGroup  
       android:id="@+id/sexGroup"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/hobbyLayout"  
       android:orientation="horizontal"  
       android:paddingTop="10dp">  
   
     <RadioButton  
         android:id="@+id/rbMale"  
         android:layout_width="wrap_content"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:text="@string/rb_male"/>  
   
     <RadioButton  
         android:id="@+id/rbFemale"  
         android:layout_width="wrap_content"  
         android:layout_height="wrap_content"  
         android:layout_weight="1"  
         android:checked="true"  
         android:text="@string/rb_female"  
         />  
   </RadioGroup>  
   
   <!--可以重用Button-->  
   <Button  
       android:id="@+id/btnOK"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:text="@string/btn_ok"  
       android:layout_below="@+id/sexGroup"  
       android:onClick="onClick"/>  
   
   <Switch  
       android:id="@+id/switch1"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/btnOK"  
       android:layout_marginBottom="16dp"  
       android:layout_marginTop="16dp"  
       android:checked="false"  
       android:text="开关控件"/>  
   
   <SeekBar  
       android:id="@+id/seekBar"  
       android:layout_width="match_parent"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/switch1"  
       android:layout_marginBottom="16dp"/>  
   
   <RatingBar  
       android:id="@+id/ratingBar"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/seekBar"  
       android:rating="2"/>  
   
   <!--numStars:星星数量-->  
   <!--rating:评分数-->  
   <!--stepSize:步长,可以是 0.5 -->  
   <!--style:默认为大的星星,可用点击-->  
   <RatingBar  
       android:id="@+id/ratingBar2"  
       style="@android:style/Widget.DeviceDefault.Light.RatingBar.Small"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/ratingBar"  
       android:layout_marginBottom="16dp"  
       android:numStars="10"  
       android:rating="7"  
       android:stepSize="1"/>  
   
   <ProgressBar  
       android:id="@+id/progressBar"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_below="@+id/ratingBar2"  
       android:layout_centerHorizontal="true"/>  
   
 </RelativeLayout>



附  关于在Android真机上部署

  • 大小: 13.9 KB
  • 大小: 313.4 KB
  • 大小: 263.4 KB
  • 大小: 48.2 KB
  • 大小: 95.4 KB
  • 大小: 78.3 KB
  • 大小: 82.2 KB
  • 大小: 156.3 KB
  • 大小: 51.7 KB
  • 大小: 31.7 KB
  • 大小: 72.9 KB
  • 大小: 46 KB
  • 大小: 17.7 KB
  • 大小: 45.4 KB
  • 大小: 106.7 KB
  • 大小: 231.8 KB
  • 大小: 52.9 KB
  • 大小: 198.8 KB
  • 大小: 318.6 KB
  • 大小: 172.4 KB
  • 大小: 73.8 KB
  • 大小: 65 KB
  • 大小: 135.7 KB
分享到:
评论

相关推荐

    Android应用源码之Fanfoudroid(饭否网开源项目)-IT计算机-毕业设计.zip

    这个项目不仅涵盖了Android应用的基本架构,还涉及到网络通信、数据存储、UI设计等多方面内容,是学习Android开发的绝佳实例。 首先,从Android应用的基本架构来看,“Fanfoudroid”采用了MVP(Model-View-...

    攻克Data动态获取网页评论,保存数据库

    【攻克Data动态获取网页评论,保存数据库】是一个关于利用特定工具——攻克Data,来抓取网页上的评论数据并存储到数据库的过程。这个过程涉及到网络爬虫技术、JSON解析以及数据库管理等多个IT领域的知识点。 1. **...

    大学生攻克Linux系统教程

    在开始Linux的学习之旅前,首先需要了解如何安装Linux操作系统。常见的Linux发行版有Ubuntu、Fedora、Debian等,本教程将详细解释如何下载ISO镜像文件,创建启动U盘,以及通过BIOS设置进行安装过程。同时,还会讲解...

    Android高级UI特效仿直播点赞动画效果

    本文给大家分享高级UI特效仿直播点赞效果—一个优美炫酷的点赞动画,具体实现代码大家参考本文。 效果图如下: 攻克难点: 心形图片的路径等走向 心形图片的控制范围 部分代码如下: 通过AbstractPathAnimator定义...

    3ds Max全面攻克_全面实例精解_CD4

    3ds Max全面攻克_全面实例精解_CD43ds Max全面攻克_全面实例精解_CD43ds Max全面攻克_全面实例精解_CD43ds Max全面攻克_全面实例精解_CD43ds Max全面攻克_全面实例...全面实例精解_CD43ds Max全面攻克_全面实例精解_CD4

    24学时攻克c++

    根据提供的信息,“24学时攻克C++”这本书旨在通过一系列高效的学习计划帮助读者在较短的时间内掌握C++编程语言。尽管仅上传了23页的内容,我们仍然可以从书名、描述以及部分可见的内容中推断出一些关键知识点。 ##...

    新东方8天攻克8000单词魔鬼训练营

    标题中的“新东方8天攻克8000单词魔鬼训练营”揭示了一个高效学习英语单词的课程项目。新东方作为知名的教育机构,以其在英语教学领域的专业性而著称,这个训练营可能是一个针对英语学习者设计的高强度、短期记忆...

    24小时攻克c++代码

    《24小时攻克C++代码》是一门针对C++编程语言深入浅出的学习教程,旨在帮助初学者在短时间内掌握C++编程基础,并逐步提升至进阶水平。C++是一种广泛应用的面向对象编程语言,它的强大功能和高效性能使得它在系统软件...

    【备战2014】高考地理 精讲巧解分类攻克4

    【备战2014】高考地理 精讲巧解分类攻克4

    【备战2014】高考生物 精讲巧解分类攻克4

    【备战2014】高考生物 精讲巧解分类攻克4

    【备战2014】高考历史 精讲巧解分类攻克4

    【备战2014】高考历史 精讲巧解分类攻克4

    一招一式攻克Linux系列讲座(之二)——第二招Linux的基本配置.pdf

    在“一招一式攻克Linux系列讲座(之二)——第二招Linux的基本配置”中,我们深入探讨了Linux操作系统安装后的基础配置和操作,包括登录、密码管理以及用户账号创建等关键环节。这对于熟练掌握Linux系统至关重要。 ...

    Flash Development for Android Cookbook

    - **核心概念理解:** 掌握Activity、Intent、Service、Broadcast Receiver等基本组件的概念对于Android开发至关重要。这些组件构成了Android应用的基本结构。 **5. 使用Flash、Flex与AIR开发Android应用** - **...

    Android自动来电录音

    在Android平台上实现自动来电录音是一项技术挑战,但并非无法攻克。Android系统提供了丰富的API和工具,使得开发者可以创建各种功能丰富的应用,包括来电录音。在本文中,我们将深入探讨如何利用Android的...

    24学时攻克c++_笔记

    函数是C++编程的基本构建块之一,它们允许代码复用和模块化。函数声明通常放在`.h`头文件中,而函数定义则放在`.cpp`文件中。理解函数参数的传值和传址机制对于避免常见的编程陷阱至关重要。另外,遵循良好的代码...

    24学时攻克C++源码及习题答案

    在学习编程语言C++的过程中,24学时的课程安排是一个相当常见的学习进度,这个压缩包文件名为"24学时攻克C++源码及习题答案",显然是为初学者设计的一套完整教程。C++是面向对象编程的重要语言,它的强大功能和广泛...

    大学生攻克Linux系统教程.rar

    大学生攻克Linux系统教程(又名天下没有难学的Linux)。一位在校大学生整理的教程,献给每一位要征服Linux的学习者-五星级的Linux教程。 本书汇集众多Linux学习者的心血与贡献,有很多作者在默默的为你呼喊,感谢...

    8天攻克8000英语词汇

    8天攻克8000词汇,word版,方便学习,背单词的好东东

    关于快速阅读技巧与攻克阅读4步法.docx

    快速阅读技巧和攻克阅读四步法是提升阅读效率和理解能力的重要方法,尤其适用于面对大量信息和考试场景,如TOEFL考试。首先,快速阅读的精髓在于抓住每一段的关键信息,即首句。因为文章的逻辑往往在段首得到展现,...

    【备战2014】高考数学 精讲巧解分类攻克4

    【备战2014】高考数学精讲巧解分类攻克4是针对高中毕业生备考高考数学的重要参考资料,旨在通过精选题目和解析,帮助学生系统性地掌握各类数学知识点,提高解题能力和应试技巧。 1. **选择题**:选择题是高考数学中...

Global site tag (gtag.js) - Google Analytics