`
uule
  • 浏览: 6351877 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

控件使用问题

 
阅读更多

TextView最大长度限制,超出部分省略号显示

xml中属性设置:

 

<TextView  
	android:id="@+id/name"  
	android:layout_width="wrap_content"  
	android:layout_height="wrap_content"  
	android:ellipsize="end"  
	android:maxEms="7"  
	android:singleLine="true"  
	android:textColor="@color/text_deep_black_color"  
	android:textSize="15sp" /> 

 其中关键参数:

android:ellipsize="end"  

android:maxEms="7"  

android:singleLine="true"  

 

PS:设置maxLength达不到这个效果,maxLength不会自动显示省略号。

 

 

 

LinearLayout中组件右对齐

在LinearLayout中,如果将其定位方向设为横向排列:android:orientation="horizontal",那么这个布局中的控件将自左向右排列。

但有时会有这样的情况:行的左边有两个控制的同时,行的右边也有一个控制。

这怎么处理呢?

我们可以将右边的控件放在另一个LinearLayout中,同时将其对齐方式设为右对齐:android:gravity="right",还有一点,这个LinearLayout的宽度设为充满父控件: android:layout_width="fill_parent"。这样就行了。

 

完整的XML代码如下:

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:background="@drawable/bg"  
    android:orientation="horizontal" >  
  
    <TextView  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="左边1" />  
  
    <TextView  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="左边2" />  
    <!-- 将TextView包在另一个LinearLayout中  
         注意android:layout_width和android:gravity这两个属性  
     -->  
    <LinearLayout  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:gravity="right" >  
  
        <TextView  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:layout_marginRight="10dp"  
            android:text="右边" />  
    </LinearLayout>  
  
</LinearLayout> 

 

 

 android添加横线或竖线

横线:

<View  android:layout_height="1px"   
           android:layout_width="match_parent"  
           android:background="#66CCFF"    
/>  

 

竖线:

<View    
    android:layout_width="1dip"   
    android:layout_height="match_parent"  
    android:background="#66CCFF"  
    android:layout_gravity="center_horizontal"  
    />  

 

 Activity与Fragment之间的跳转:

 

(1)Fragment跳转到Activity:

startActivity(new Intent(getActivity(), Activity.class)); // 首先需要通过getActivity()方法获取到当前Activity

(2)Activity跳转到Fragment:

// Activity不能直接跳转到Fragment,需要先跳转到Fragment所附着的Activity中,然后再更改Activity当前显示哪个Fragment。

intert.putExtra("fragid",1); //首先在Activity跳转之前,在Intent中传入一个flag,用来标记跳转到哪一个Fragment。

// 然后根据flag来判断显示哪个Fragment

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); // import android.support.v4.app.FragmentTransaction;

transaction.replace(R.id.frame_content, new CenterFragment());

transaction.commit();

 

 

RelativeLayout 显示、隐藏、移除

RelativeLayout layout = (RelativeLayout) findViewById(R.id.relative);

1)通过下面代码实现显示相对布局的内容

    layout.setVisibility(View.VISIBLE);

2)通过下面代码移除显示相对布局的内容

    layout.setVisibility(View.GONE);

3)通过下面代码隐藏显示相对布局的内容

layout.setVisibility(View.INVISIBLE);

 

setVisible(VIew.GONE);  //隐藏 并且不占用界面空间

setVisible(VIew.VISIBLE);  //控件显示

 

setVisible(VIew.INVISIBLE);  //控件隐藏 占用界面空间

 

 

android代码设置RelativeLayout的高度

private RelativeLayout relative;
relative = (RelativeLayout) findViewById(R.id.rlay_1);
ViewGroup.LayoutParams params=relative.getLayoutParams();
params.height =180; 
relative.setLayoutParams(params);

  

ImageView.ScaleType:

CENTER /center  按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

CENTER_CROP / centerCrop  按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

FIT_CENTER / fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示

FIT_END / fitEnd   把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置

FIT_START / fitStart  把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置

FIT_XY / fitXY  把图片不按比例扩大/缩小到View的大小显示

 

MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。

 

layout_centerInParent与layout_centerHorizontal与layout_gravity的区别

是相对于RelativeLayout

android:layout_centerInParent="true"  --将控件置于父控件的中心位置

android:layout_centerHorizontal="true"  --该控价设置在相对于父控件水平居中的位置

android:layout_centerVertical="true"  --将控件置于垂直方向的中心位置

 

android:layout_alignParentLeft="true"

android:layout_alignParentRight="true"

android:layout_alignParentTop="true"

android:layout_alignParentBottom="true

android:layout_centerInParent="true"

 

layout_gravity

针对LinearLayout的一种控件对齐方式,可以把值设置成下列值:

center_vertical、center_horizontal、center等等

 

gravity

 

控制控件内文字的对齐方式

 

RadioGroup的RadioButton中文字和图片的距离

android:button=@null;//将默认的button图片清空

android:drawableLeft=@drawable/radiobutton;//使用该属性定义button图片

android:background=@null;//将radioButton的背景设为空

 

android:drawablePadding=6dp;//将文字和左侧的button图片相距6dp

 

给LinearLayout设置点击事件

方法一:

1,在代码中加入如下代码,不然会被包含在其中的控件把焦点抢占,此时子控件无需设置clickable和focuseable

<RelativeLayout
            android:id="@+id/relativeLayout"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_weight="1"
			
            android:onClick="onClick"
            android:clickable="true" >

            ......
</RelativeLayout>

 

2,一方面可以在代码中find出来,添加监听器onClickListenner,另一方面也可以添加一个onClick()方法,在activity中实现指定的方法。以后者为例。在布局中必须加上代码android:onClick="onClick",其中等号右边的值,可以自定义为自己的方法,只是得在activity中提供此方法,类似onClick()。

3,activity的添加代码,如下

 

public void onClick(View v) {
        switch (v.getId()){
            case R.id.relativeLayout:
                System.out.println("整个布局被点击");
                break;
        }
    }

 

方法二:

<RelativeLayout
            android:id="@+id/relativeLayout"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_weight="1"
			
            android:focusableInTouchMode="true" >
            ......
</RelativeLayout>

 

1,在activity中find在添加OntouchLisenner方法

2,实现OntouchLisenner的Ontouch()方法

 

可能出现的问题

 

1,当把<RelativeLayout></RelativeLayout>嵌套在其他布局时,android:focusableInTouchMode="true"和android:clickable="true"不能同时设置。

 

2,当有多个<RelativeLayout></RelativeLayout>实现整体点击时,应当让activity实现OnClickListenner或OntouchListenner,不要单独的在给布局设置时new,即不要给每个布局setOnTouchListener(new ...);每个监听器都是新的很容易出现执行多次监听方法

 

 

判断imageview是否有图片或者是默认图片

Drawable.ConstantState frontState = iv_front.getDrawable().getCurrent().getConstantState();
if (frontState==null){
    AppContext.showToast("请上传图片");
    return;
}

 

 

。。。

分享到:
评论

相关推荐

    日历控件使用问题

    本文将深入探讨日历控件的使用问题,包括其功能、常见问题及解决方案。 首先,日历控件的基本功能是展示日期,并提供用户友好的交互方式来选择特定日期。它通常包含一个月份视图,用户可以滚动查看不同月份,并通过...

    DevExpress控件使用详细讲解.docx

    同时,熟悉控件的错误处理和调试方法,有助于快速定位和解决问题。 ### 6. 最后 掌握DevExpress控件的使用,不仅可以提升开发效率,还能为应用程序带来专业且吸引人的外观。在实践中不断学习和探索,了解每个控件的...

    Gridview控件的使用详解

    GridView 控件的使用详解 GridView 控件是 ASP.NET web 应用程序中最常用的数据_grid 控件之一,它提供了强大的功能来显示和编辑数据 Gridview 控件的使用是非常广泛的,特别是在数据展示和编辑方面。 Gridview ...

    MSComm控件使用详解

    MSComm控件使用详解 MSComm控件是Microsoft公司提供的ActiveX控件,用于简化Windows下的串行通信编程。该控件提供了两种处理通信问题的方法:事件驱动方式和查询方式。 事件驱动方式是处理串行端口交互作用的一种...

    VB .net SerialPort控件使用详解

    VB .net SerialPort控件使用详解 VB .net SerialPort控件是一种常用的串口通信控件,广泛应用于各种串口通信项目中。在VB2008中使用SerialPort控件可以实现串口的接收和发送操作。但是,在使用过程中需要注意一些...

    VB控件调用控件问题

    说明一下,如果把X和Y控件的源代码在B机器编译后再使用就没有问题 我在想是不是X控件在编译时指定了Y控件的ID号,如果把X,Y复制到B机器注册后对应的Y控件的ID号与X控件指定的Y控件的ID号不匹配,如果是这样的话,...

    杭州海康威视视频控件用户使用手册.zip

    三、新控件使用步骤 1. 安装控件:首先,用户需要下载并安装海康威视提供的视频控件,确保系统环境中已经正确注册了该控件。 2. 集成控件:在组态王工程中,通过控件库引入海康威视的视频控件,将其添加到监控界面的...

    解决WIN7系统中VS2010不能使用MSCOMM控件的问题

    解决 WIN7 系统中 VS2010 不能使用 MSCOMM 控件的问题 在 WIN7 系统中,VS2010 不能直接使用 MSCOMM 控件,因为它不自带这个控件。要使用 MSCOMM 控件,需要下载 MSCOMM 控件包,并将其注册到系统目录中,然后在 VS...

    常见窗体控件使用

    ### 常见窗体控件使用 #### 技能目标 - 掌握窗体及常用基本控件的使用,能创建类似本项目的简单Windows窗体应用程序。 #### 知识目标 1. **理解窗体和控件对象的概念**: - **窗体**:在Windows应用程序开发中,...

    财付通Vista系统环境下如何正常使用证书以及控件?.docx

    在Vista系统中使用财付通时,可能会遇到证书和控件使用问题,这通常涉及到系统的安全设置、权限管理和浏览器配置。以下是解决这些问题的详细步骤: 1. **下载和安装控件**: - 在下载财付通控件时,注意保存文件的...

    U8控件使用说明.chm

    《U8控件使用说明》是一本专为U8二次开发者设计的手册,它详尽地阐述了如何在U8系统中进行高效且精准的控制台开发。此手册旨在帮助初学者和经验丰富的开发者快速理解和掌握U8控件的使用技巧,从而提升软件功能的定制...

    EXCEL VBA 控件常规使用——窗体控件介绍

    EXCEL VBA 控件常规使用——窗体控件介绍 在 Excel VBA 中,控件是指在 UserForm 中使用的各种对象,例如按钮、文本框、列表框等。这些控件可以在 UserForm ...但是,需要正确地使用控件,避免一些常见的错误和问题。

    vc6.0控件使用大全(源码)

    《VC6.0控件使用大全(源码)》是一个针对初学者的宝贵资源,它提供了丰富的VC6.0编程中的控件应用实例和源代码。VC6.0是Microsoft Visual C++的一个经典版本,广泛用于Windows应用程序开发,尤其是对于学习和理解...

    WebBrowser控件的使用

    确保在使用`WebBrowser`控件时合理管理内存,及时释放不再使用的资源。 2. **线程问题**:`WebBrowser`控件的许多操作(如`Navigate()`)是异步的,若在非UI线程中操作,可能会引发异常。确保所有对`WebBrowser`的...

    mscomm控件使用受限制

    但在某些环境下,例如在64位的Windows 7系统上使用Office 2010的VBA进行开发时,可能会遇到`mscomm`控件使用受限的问题。本文将详细介绍如何解决这一问题,确保控件能够在目标环境中正常工作。 #### 安装与配置步骤...

    自定义图谱控件使用范例

    本例中的"自定义图谱控件使用范例"旨在教你如何创建一个能够绘制连续波形并具备坐标系的简单控件。这个控件对于可视化数据、模拟信号或进行实时数据分析非常有用。 首先,我们需要理解“自定义控件”。在编程中,...

    DataGridView控件使用大全

    它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特性。 关于本文档: 本文档不准备面面俱到地介绍DataGridView,而是着眼于深入地介绍一些技术点的高级特性。 本文档按逻辑...

    MFC控件使用经验总结适合Windows程序员

    总的来说,MFC控件使用经验总结是Windows程序员的重要参考资料,它涵盖了从基础到进阶的各个层面,有助于提升开发效率和代码质量。熟练掌握MFC控件的使用,尤其是Edit控件的技巧,将使你在Windows应用开发中游刃有余...

    在PB中使用日期时间控件

    下面将详细介绍如何在PowerBuilder中使用日期时间控件,以及它的一些关键特性。 首先,我们需要了解PowerBuilder中的两种主要日期时间控件类型:DateTimeCtrl和DateCtrl。DateTimeCtrl允许用户选择日期和时间,而...

    VisualC#2008控件使用范例详解 书全套代码

    通过学习《Visual C# 2008控件使用范例详解》中的代码示例,开发者可以深入理解C#控件的工作原理,提升编程技能,同时也能获得解决实际问题的策略和技巧。书中的实例涵盖了从基础到高级的各种应用场景,对于初学者和...

Global site tag (gtag.js) - Google Analytics