ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

AndroidÅàѵʵս½Ì³ÌÖ®Ìá¸ßUIÁ÷³©¶È

¸üÐÂʱ¼ä:2015Äê12ÔÂ28ÈÕ15ʱ05·Ö À´Ô´:ÀÖÓã²¥¿ÍAndroidÅàѵѧԺ ä¯ÀÀ´ÎÊý:

AndroidÖÐËùÓеĽçÃæ»æÖƹ¤×÷¶¼ÊÇÔÚUIÏß³ÌÖнøÐеÄ£¬Ìá¸ßUIÁ÷³©¶ÈµÄ×îºËÐĸù±¾ÔÚÓÚÊÍ·ÅUIÏ̡߳£¼´:²»ÔÚÖ÷Ïß³ÌÖÐ×öºÄʱµÄ²Ù×÷¡£
 
ºÜ¶àÈ˶¼ÖªµÀ£¬ºÄʱµÄ²Ù×÷Òª·Åµ½×ÓÏß³ÌÖÐÈ¥×ö£¬±ÈÈç·ÃÎÊÍøÂ磬±ÈÈç¶Áдsd¿¨¡£ÏñÕâÀà²Ù×÷´ó¼Ò¶¼»áºÜ×ÔÈ»µÄÏ뵽ʹÓÃ×ÓÏß³ÌÀ´Íê³ÉºÄʱµÄ²Ù×÷£¬µÈ²Ù×÷½áÊøÖ®ºó£¬ÔÙͨ¹ýHandler֪ͨÖ÷Ï߳̽øÐнçÃæµÄ¸üС£ÕâÊǷdz£ÕýÈ·µÄ·½·¨¡£µ«ÊÇÓÐÒ»Àà·½·¨£¬Ëü±ØÐëµÃÔËÐÐÔÚÔÚUIÏß³ÌÖУ¬¾ÍÊDz¼¾ÖÎļþµÄ¼ÓÔØ¡£Èç¹ûÕâÀà·½·¨»¨µÄʱ¼äÌ«¶àÁË£¬Ò²ÊÇ»á¶ÔÁ÷³©¶È²úÉúºÜ´óµÄÓ°Ïì¡£½ñÌìÎÒÃǾÍÀ´½²½²²¼¾ÖÎļþµÄÓÅ»¯¡£
 
¼ÓÔØ²¼¾ÖÎļþ£¬ÊDZØÐëÔÚUIÏß³ÌÖÐÍê³ÉµÄ¡£ÎÒÃÇͨ³£ÊÇÔÚonCreate·½·¨ÖÐÖ±µ÷ÓÃsetContentView£¬´«ÈëÒ»¸ö²¼¾ÖÎļþµÄidÖµ£¬»òÕßÊÇͨ¹ýLayoutInflaterÀ´½«Ä³Ò»¸ö²¼¾ÖÎļþת»¯³ÉView¶ÔÏ󡣯äʵÕâÁ½ÖÖ·½Ê½µÄ±¾Öʶ¼ÊÇÒ»ÑùµÄ£¬¶¼Êǽ«xmlÎļþת»»³ÉView¶ÔÏó¡£
ÎÒÃÇÏÖÔÚÒª×öµÄÊ£¬¾ÍÊÇÈçºÎÈÃxmlÎļþת»»³ÉView¶ÔÏóËù»¨µÄʱ¼ä×îÉÙ¡£×öµ½ÁËÕâµã£¬¾Í¿ÉÒԺܴó³Ì¶ÈµÄÌá¸ßUIµÄÁ÷³©¶È¡£

1¡¢ÓÅ»¯²¼¾Ö, ¼õÉÙ²¼¾ÖµÄǶÌײ㼶

   a¡¢Ê¹ÓÃdrawableXXXÊôÐÔ

  
   Èç¹ûҪʵÏÖÕâÑùÒ»¸öЧ¹û£¬²¼¾ÖÎļþ¿ÉÒÔÕâÑùд
<LinearLayout  orientation="vertical">
     <ImageView/>
      <TextView/>
</LinearLayout>
   ÓÅ»¯ºó£º
<TextView  drawableBottom="@drawable/contact"/>  
   Ö±½ÓÒ»¸öTextView¾Í¸ã¶¨£¬²»ÐèÒªÔÚÍâÃæ¶àÒ»²ãLinearLayout

   b¡¢¶àʹÓÃRelativeLayout£¬ÉÙʹÓÃLinearLayout

Èç¹ûÕâÑùµÄ²¼¾ÖʹÓÃLinearLayoutÀ´×öµÄ»°£¬ÄÇô»áÊÇÒÔÏÂÕâ¸öЧ¹û
<LinearLayout orientation="horizontal">
    <ImageView/>
    <LinearLayout orientation="vertical">
        <LinearLayout orientation="horizontal">
            <TextView/>
            <TextView/>
        </LinearLayout>
        <TextView/>
        <LinearLayout orientation="horizontal">
            <TextView/>
            <TextView/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
ÕâÑù¾ÍĪÃûÆäÃîµÄ¶à³öÁ˺öà¸öLinearLayout.
ÕâÑù¹ý¶àµÄLinearLayoutǶÌ×LinearLayout£¬»áÔì³ÉUI¼ÓÔØµÄ·Ç³£Âý¡£ÕâÑùµÄ²¼¾ÖÍêÈ«¿ÉÒÔʹÓÃÒ»¸öRelativeLayoutÀ´Íê³É£¬ÀïÃæµÄ×ÓÔªËØ¸ù¾ÝÏà¶ÔÓÚÆäËû¿Ø¼þµÄλÖü´¿ÉÈ·¶¨¡£
ǶÌ×ʹÓÃLinearLayoutºÜÈÝÒ׻ᵼÖÂÊÓͼ²ã¼¶¹ýÉî¡£Èç¹ûʹÓÃlayout_weightÕâ¸ö²ÎÊý²»¶ÏµÄ½øÐÐǶÌ×£¬ÓпÉÄÜ»áÈø÷¸ö×ÓView¸¶³ö¼ÆËãÁ½´ÎµÄ°º¹ó´ú¼Û
ÓÅ»¯ºó´úÂ룺
<RelativeLayout>
    <Image id=avatar layout_alignParentLeft=true />
    <TextView id=name layout_alignParentTop=true layout_toRightOf=@id/avatar />
    <TextView id=location layout_alignParentTop=true layout_toRightOf=@id/name />
    <TextView id=desc layout_below=@id/location layout_toRightOf=@id/avatar />
    ....
</RelativeLayout>

  c¡¢Ê¹ÓÃmerge±êÇ©

ʹÓÃmerge±êǩҲÊÇÄܹ»¼õÉÙһЩ²¼¾ÖµÄ²ã´Î¡£merge±êÇ©¾­³£»áºÍinclude±êÇ©ÏàÁªÏµ¡£
ÄÇôʲôʱºòʹÓÃmerge±êÇ©ÄØ£¿ÏÂÃæ¾ÙÀý×Ó˵Ã÷¡£
<LinearLayout orientation="vertical">
    ......
    <include layout="@layout/include_view_layout"/>
    ......
</LinearLayout>
¶øinclude_view_layout.xml µÄ´úÂëÈçÏ£º
<LinearLayout orientation="vertical">
    <Button/>
    <Button/>
</LinearLayout>
ÎÒÃÇ¿´µ½ButtonµÄ¸¸¿Ø¼þÊÇLinearLayout£¬¶øincludeµÄ¸¸¿Ø¼þÒ²ÊÇLinearLayout£¬ÕâÑù×ӵIJ¼¾Ö×îÖյĽá¹ûÊÇ
<LinearLayout orientation="vertical">
    <LinearLayout orientation="vertical">
        <Button/>
        <Button/>
    </LinearLayout>
</LinearLayout>
ºìÉ«²¿·ÖµÄLinearLayoutÍêÈ«ÊǶàÓ࣬ÓÚÊÇÕâʱºò£¬ÎÒÃǾͿÉÒÔÔÚinclude_view_layout.xmlÎļþÖÐʹÓÃmerge±êÇ©ÁË¡£ÈçÏ£º
<merge>
    <Button/>
    <Button/>
</merge>
ÕâÑù£¬ÔÚ¼ÓÔØÕâ¸öinclude±êÇ©µÄʱºò£¬ÏµÍ³»áºöÂÔmerge±êÇ©£¬Ö±½Ó½«merge±êÇ©ÄÚµÄÔªËØÌí¼Óµ½Íâ²ãµÄLinearLayoutÈ¥ÁË£¬´ïµ½¼õÉٲ㼶µÄЧ¹û¡£

2¡¢ÑÓ³Ù¼ÓÔØ

         ÔÚ¿ª·¢Ä³Ð©¹¦ÄÜʱºò£¬ÓÐʱºòÐèÒª¶¯Ì¬µÄ¸ù¾ÝÌõ¼þÀ´ÅжÏÏÔʾÄÄÒ»¸öView£¬²»ÏÔʾÄÄÒ»¸öView¡£Ò»°ãµÄ×ö·¨Êǽ«ËùÓеÄView¶¼Ð´ÔÚ²¼¾ÖÎļþÖÐÈ¥£¬È»ºó¸ù¾ÝÌõ¼þÔÙÀ´ÉèÖÃËûÃǵĿɼû¶ÈVisibilityΪGONE»òÕßVISIBLE¡£ÕâÖÖ×ö·¨Âß¼­¼òµ¥£¬±ãÓÚÀí½â¡£µ«ÊÇȱµã¾ÍÊÇÄÇЩ²»ÏÔʾ³öÀ´µÄViewÒ²Õ¼ÓÃÁËÄڴ棬ÏûºÄÁËinflateµÄʱ¼ä¡£ÒòΪһ¸öView£¬²»ÂÛËûµÄVisibilityµÄÖµÊÇʲô£¬Ëü¶¼»á±»inflate³öÀ´£¬²¢Õ¼ÓÃÄÚ´æ¿Õ¼ä¡£ÕâʱºòÆäʵ¾Í¿ÉÒÔÓõ½ÑÓ³Ù¼ÓÔØµÄ¿Ø¼þViewStubÁË¡£
     ViewStubÊÇÒ»¸ö·Ç³£ÇáÁ¿¼¶µÄ¿Ø¼þ£¬ËüÕ¼µÄ×ÊÔ´·Ç³£Ð¡¡£×¢Ò⣬ÊÇViewStubÕâ¸ö¶ÔÏóËùÕ¼µÄ×ÊԴС£¬µ«ÊÇÄã¿ÉÒÔΪViewStubÖ¸¶¨Ò»¸ö²¼¾ÖÎļþ£¬Õâ¸ö²¼¾ÖÎļþ±»inflateµÄʱºòÕ¼µÄ¿Õ¼äÓпÉÄܴܺó¡£Ä¬ÈϵÄÇé¿öÏ£¬ViewStubµÄËùÖ¸¶¨µÄ²¼¾ÖÎļþÊDz»±»inflateµÄ£¬Ö»Óе±Äãµ÷ÓÃÁËViewStubµÄinflate·½·¨Ê±£¬ViewStubËùÖ¸ÏòµÄ²¼¾ÖÎļþ²Å»á±»inflate¡£ËùÒÔViewStubÊÇÒ»¸öÑÓ³Ù¼ÓÔØµÄ¿Ø¼þ¡£
<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center_horizontal"> 
<ViewStub  
     android:id="@+id/viewstub1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"   
     android:layout="@layout/viewstub_layout1"/> 
<ViewStub  
     android:id="@+id/viewstub2
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"  
     android:layout="@layout/viewstub_layout2"/> 
</LinearLayout> 
 
ÔÚjava´úÂëÖÐʹÓÃ
ViewStub stub1 = (ViewStub) findViewById(R.id.viewstub1); 
ViewStub stub2 = (ViewStub) findViewById(R.id.viewstub2); 
if(isLogin()) {
    stub1.inflate();
} else {
    stub2.inflate();
}
ÕâÑù¾Í²»»áÓÐÀË·Ñ×ÊÔ´¿Õ¼äÈ¥¼ÓÔØÃ»±ØÒªµÄ¿Ø¼þÁË¡£

£³¡¢¼õÉÙinflateµÄ´ÎÊý

         Õâ¸öµÄµäÐÍÀý×Ó¾ÍÊÇListViewµÄÓÅ»¯¡£ÎÒÃÇ˵ListViewµÄÓÅ»¯£¬Êµ¼ÊÉÏ˵µÄ¾ÍÊÇAdapterÖÐgetView·½·¨µÄÓÅ»¯£¬ÎÒÃÇÀ´¿´Ò»¸öûÓÐÓÅ»¯¹ýµÄgetView·½·¨¡£
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MyItem product = list.get(position);
    convertView = getLayoutInflater()
               .inflate(R.layout.item_record, null);
¡¡¡¡TextView tvDate = (TextView) convertView
                .findViewById(R.id.tvDate);
    TextView tvYongtu =  (TextView) convertView
                .findViewById(R.id.tvYongtu);
     TextView tvMoney  = (TextView) convertView
                .findViewById(R.id.tvMoney);
     tvDate.setText(product.detaildate);
     tvYongtu.setText(product.auditmessage);
     tvMoney.setText(product.detailmoney);
     return convertView;
}
ÎÒÃÇÖªµÀ£¬ListViewÖеÄÿһ¸öItem±»ÏÔʾ³öÀ´¶¼Òªµ÷ÓÃgetView·½·¨£¬Õâ¸öItemÈç¹û»¬³öÆÁÄ»£¬ÓÖ»¬»ØÀ´£¬ÖØÐÂÏÔʾÔÚ½çÃæÉϵÄʱºò£¬ÓÖ»áÔٴε÷ÓÃgetView·½·¨¡£ËùÒÔgetViewÊDz»¶ÏµÄ±»µ÷ÓõÄ¡£¶øÉÏÃæµÄ´úÂ룬ֻҪµ÷ÓÃÁËgetView·½·¨£¬¾ÍÒ»¶¨»áÈ¥inflateÒ»¸ö²¼¾ÖÎļþ£¬Õæ¼òÖ±¾ÍÊDz»¸ÒÏëÏóµÄ·Ç³£ºÄʱµÄ²Ù×÷¡£ÓÚÊÇ£¬ÀûÓÃϵͳ¸øÎÒÃǵĻº´æconvertView½øÐÐÅжÏ£¬¿ÉÒÔ´ó´ó¼õÉÙinflateµÄ´ÎÊý¡£Æäʵ£¬findViewByIdÒ²ÊÇÒ»¸öºÜºÄʱµÄ²Ù×÷£¬ÎÒÃÇ¿ÉÒÔÀûÓÃViewHolderÀ´¼õÉÙfindViewByIdµÄ´ÎÊý¡£ÓÅ»¯ºóµÄ´úÂëÈçÏ£º
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MyItem product = list.get(position);
    ViewHolder holder;
    if (convertView == null) {
        convertView = getLayoutInflater().inflate(
                R.layout.item_record, null);
        holder = new ViewHolder();
        holder.tvDate = (TextView) convertView
                .findViewById(R.id.tvDate);
        holder.tvYongtu = (TextView) convertView
                .findViewById(R.id.tvYongtu);
        holder.tvMoney = (TextView) convertView
                .findViewById(R.id.tvMoney);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    holder.tvDate.setText(product.detaildate);
    holder.tvYongtu.setText(product.auditmessage);
    holder.tvMoney.setText(product.detailmoney);
    return convertView;
}
static class ViewHolder {
    TextView tvDate;
    TextView tvYongtu;
    TextView tvMoney;
}
 
±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍAndroidÅàѵѧԺËùÓУ¬»¶Ó­×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍAndroidÅàѵѧԺ
Ê×·¢£ºhttp://www.itcast.cn/android/

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿