`
oyeal
  • 浏览: 82111 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
  有时候需要动态显示两个控件(三个四个甚至更多其他控件),两个控件显示时在居中位置,当显示任何其中一个控件时也显示居中,我们举例两个文本框。下面是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);
            }
        });
    }
}
运行结果看对应的图片。
  • 大小: 8.2 KB
  • 大小: 8.2 KB
  • 大小: 8.1 KB
分享到:
评论

相关推荐

    c# 字体选择控件

    - 在此解决方案中,你可以查看如何实现自定义字体选择控件的具体细节,包括类的设计、事件处理程序的编写以及控件间的交互逻辑。 6. 考虑扩展性: - 为了提供更好的用户体验,可以考虑添加搜索功能,允许用户通过...

    delphi小键盘控件

    这种技术通常需要一定的图形设计知识和编程技巧,但在这款控件中,已经封装好了相关的实现,开发者只需调用相应的属性即可。 在实际开发中,"delphi小键盘控件"可能被用于各种场景,例如,为移动设备模拟物理键盘...

    VC++ 显示隐藏窗体中的指定控件

    在VC++编程环境中,我们经常会遇到...总之,VC++提供了丰富的API和类库来管理窗体和控件的可见性,开发者可以根据具体需求灵活选择合适的方法。通过熟练掌握这些技巧,可以创建出更加灵活、用户体验优秀的应用程序。

    自定义控件显示多种支付方式

    在Android开发中,自定义控件是提升应用用户体验和界面设计灵活性的重要手段。标题提到的“自定义控件显示多种支付...在实现自定义控件显示多种支付方式时,不仅要注意视觉设计和交互体验,还要考虑性能和可扩展性。

    EAS系统F7控件树形显示

    "EAS系统F7控件树形显示"这个主题涉及的是在EAS系统中,如何使用F7控件来实现数据的树形结构展示。F7控件是一种用户界面组件,它允许用户以层次结构的形式查看和操作数据,这样的布局常见于文件管理器、组织结构图或...

    ListControl控件技巧汇总

    在本文中,我们将深入探讨ListControl控件的使用技巧,包括它的各种风格、数据插入方法、选中和取消选中行的操作,以及获取复选框状态的手段。 1. ListControl风格: ListControl有四种基本风格,每种风格对应不同...

    VC控件大小和字体设置

    自定义控件可以完全控制绘制过程,包括字体选择和大小调整。 8. **编程提示**: - 使用`GetClientRect`获取控件的客户区矩形,用以计算字体大小和控件尺寸。 - 考虑到不同屏幕分辨率和用户偏好,控件大小应有一定...

    asp.net控件小技巧

    下面将详细介绍这些控件的功能、用途以及一些实用的小技巧。 ### 1. ASP.NET中的事件触发控件 - **`onBlur`**:当元素失去焦点时触发。在示例中,文本框会在失去焦点时检查其值是否为空,如果为空,则将其设置为...

    用Group Box控件对控件分组

    总之,`GroupBox`控件在UI设计中起着关键作用,它通过提供可视化分组,提高了界面的易用性和美观性。正确地使用`GroupBox`,可以使软件的用户界面更加专业和用户友好,从而提升用户体验。在实际项目中,开发者应当...

    winform的控件技巧

    22. **控件的可见性切换**:使用Show和Hide方法可以控制控件的显示和隐藏,而不是删除和重新创建。 23. **数据验证**:通过Validator控件或自定义代码,可以在用户输入时进行实时验证。 24. **多线程与UI更新**:...

    VB窗体、界面与控件设计实例

    【VB窗体、界面与控件设计实例】是面向初学者和爱好者的宝贵资源,它提供了丰富的实践案例,帮助理解并掌握Visual Basic (VB) 中的窗体、界面及控件设计技巧。VB是一种流行的事件驱动编程语言,尤其在开发Windows...

    c#自定义控件实例大全,.NET自定义控件实例大全,WINFORM自定义控件实例大全

    在.NET框架中,C#是一种常用的...掌握自定义控件的开发技巧,对于提升.NET WinForms应用程序的用户体验和功能完整性至关重要。通过不断实践和学习,开发者可以创建出功能强大、个性化的控件,满足各种复杂的应用场景。

    微信小程序的一些控件

    微信小程序控件是构建用户界面的基础元素,它们类似于网页开发中的HTML标签,但具有更丰富的交互性和特定于小程序的特性。以下是一些常见的微信小程序控件及其特点: 1. ****:这是最基础的布局容器,用于展示文本...

    Excel VBA日期控件使用说明

    在Excel VBA(Visual Basic for Applications)中,日期控件是一种非常实用的工具,它允许用户在用户界面中选择特定的日期,增强了交互性和数据输入的准确性。本篇将详细介绍如何在Excel VBA中使用日期控件,并提供...

    minigui自定义控件2

    - **绘制控件**:覆盖`PaintProc`函数,实现控件的绘制逻辑,这包括背景填充、边框绘制、文字显示等。 - **处理控件事件**:根据需要重写`EventProc`函数,处理窗口消息,如键盘、鼠标事件。 3. **`ControlEx_...

    精彩编程与编程技巧-利用vb6开发ActiveX控件...

    综上所述,《精彩编程与编程技巧》这篇文章不仅提供了详细的步骤指导开发者如何使用VB5创建ActiveX控件,还展示了控件的强大特性和在多个开发环境中的适用性。这对于希望提高编程效率和复用性的开发者来说是非常宝贵...

    自定义控件入门(简单组合日期控件和编辑框)

    在.NET框架中,DateTimePicker控件提供了日期选择的功能,开发者可以通过属性设置其显示格式、是否显示时间等特性。编辑框(TextBox)则用于接收和显示用户输入的文本,可以通过属性设置是否只读、多行显示等。 在...

    c# 作为电压电流仪表盘的自定义控件

    综上所述,创建一个C#的电压电流仪表盘自定义控件涉及到多个方面的编程技巧,包括UI设计、图形绘制、数据绑定、事件处理、动画制作以及性能优化等。通过这样的自定义控件,开发者可以构建出更专业、更直观的监控界面...

    移动端日期和时间选择控件lCalendar-master.zip

    在移动应用开发中,日期和时间...通过深入理解和定制`lCalendar-master`,开发者可以为自己的移动端应用构建出高效且美观的日期和时间选择功能,提升用户体验,同时也能从项目源码中学到移动端UI组件的设计和实现技巧。

    KVADODBGRID控件

    AEW的组态王数据库KVADODBGRID控件是专为提升用户交互体验而设计的,它允许用户在触摸屏界面上进行数据查询、排序以及数据删除等操作,极大地增强了系统的人机交互性。 首先,我们来了解一下KVADODBGRID控件的核心...

Global site tag (gtag.js) - Google Analytics