首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

控件选择性展示的设计小技巧

2012-09-23 
控件选择性显示的设计小技巧有时候需要动态显示两个控件(三个四个甚至更多其他控件),两个控件显示时在居中

控件选择性显示的设计小技巧
  有时候需要动态显示两个控件(三个四个甚至更多其他控件),两个控件显示时在居中位置,当显示任何其中一个控件时也显示居中,我们举例两个文本框。下面是main.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout      xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >    
    <LinearLayout android:id="@+id/layout1"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_marginTop="30dip">       
        <LinearLayout android:id="@+id/layout_1"
                    android:orientation="horizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center_vertical"
                    android:layout_weight="1"                    >                 
            <TextView android:id="@+id/text01"              
                android:layout_width="wrap_content"              
                android:layout_height="wrap_content"  
                android:textSize="18sp"               
                android:singleLine="true"               
                android:layout_marginLeft="10dip"            
                android:text="第一项:"
                />      
             <TextView android:id="@+id/text02"              
                android:layout_width="wrap_content"              
                android:layout_height="wrap_content"  
                android:textSize="18sp"               
                android:singleLine="true"                                             
                android:text="12345678910111213141516171819"
                />                
        </LinearLayout>

        <LinearLayout android:id="@+id/layout_2"
                    android:orientation="horizontal"
                    android:layout_width="fill_parent"                       android:layout_height="wrap_content"
                    android:gravity="center_vertical"
                    android:layout_weight="1"                     >
            <TextView android:id="@+id/text03"               
                android:textSize="18sp"
                android:singleLine="true"
                android:layout_marginLeft="10dip"
                android:layout_width="wrap_content"               
                android:layout_height="wrap_content"
                android:text="第二项:"
                />
            <TextView android:id="@+id/text04"              
                android:layout_width="wrap_content"              
                android:layout_height="wrap_content"  
                android:textSize="18sp"               
                android:singleLine="true"                                             
                android:text="12345678910111213141516171819"
                />                
        </LinearLayout>
    </LinearLayout>
       
    <LinearLayout android:id="@+id/layout2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="40dip"
    android:layout_marginLeft="40dip"
    >
   <Button android:id="@+id/Button01"
       android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="第一项"
   >
       </Button>
  <Button android:id="@+id/Button02"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="第二项"
           >
           </Button>
     <Button android:id="@+id/Button03"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="双项"
           >
           </Button>
</LinearLayout>

</LinearLayout>
  标注颜色部分很重要,可以保证控件不管是单个还是一起显示都会居中。
java文件
package com.android.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;

public class test extends Activity {
   
    ViewGroup layout_1,layout_2;
    Button btn01,btn02,btn03;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);       
        layout_1 = (ViewGroup) findViewById(R.id.layout_1);
        layout_2 = (ViewGroup) findViewById(R.id.layout_2);
        btn01 = (Button) findViewById(R.id.Button01);
        btn01.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                layout_1.setVisibility(View.VISIBLE);
                layout_2.setVisibility(View.GONE);            }
        });
        btn02 = (Button) findViewById(R.id.Button02);
        btn02.setOnClickListener(new OnClickListener() {
           
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                layout_1.setVisibility(View.GONE);//设置控件不可见
                layout_2.setVisibility(View.VISIBLE);//设置控件可见
            }
        });
        btn03 = (Button) findViewById(R.id.Button03);
        btn03.setOnClickListener(new OnClickListener() {
           
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                layout_1.setVisibility(View.VISIBLE);
                layout_2.setVisibility(View.VISIBLE);
            }
        });
    }
}
运行结果看对应的图片。

热点排行