界面-android这样的一个自定义View有什么问题吗?

问题描述

android这样的一个自定义View有什么问题吗?

不知道为什么在布局中添加了却没有什么显示:
//界面更新
BookButton bookButton=new BookButton(SelectAty.this,newNote);
layout.addView(bookButton);

View源码:


public class BookButton extends RelativeLayout {
    Note note;
    TextView noteName;

    public BookButton(Context context,Note note){
        super(context);
        this.note=note;

        LayoutInflater.from(context).inflate(R.layout.book_button,this);
        noteName=(TextView)findViewById(R.id.noteName);
        noteName.setText(note.getNoteName());
    }

    //view的大小由note的大小决定
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
        //没有效果?
        setMeasuredDimension(150+note.getPagesNumber(),1000);
    }

    public void setNoteName(String noteName){
        note.setNoteName(noteName);
        //更改textView,完成界面的更新
        this.noteName.setText(noteName);
    }

    public Note getNote(){
        return note;
    }

}

book_button.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/book1"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/noteName"
        android:layout_centerInParent="true"
        android:layout_width="15dp"
        android:layout_height="50dp" />
</RelativeLayout>

求帮助。。。。。

解决方案

Android 自定义View(1) -- 一个小Demo

解决方案二:

setMeasuredDimension(150+note.getPagesNumber(),1000);
这一行没有作用的话,请看看其中的参数是否合法?另外,看看有没有返回值?如果有,获取一下看看。

解决方案三:

不行,构造函数要有一个带attribute的
public BookButton(Context context, AttributeSet attrs)

解决方案四:

参数对了,然后设置一下宽高,可能你的布局挡住了

解决方案五:

应该是没有设置宽高的原因,设置layoutparams,为其添加宽高试试

时间: 2024-11-29 18:02:48

界面-android这样的一个自定义View有什么问题吗?的相关文章

Android通过自定义View实现随机验证码_Android

很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章. 一.问题描述 熟悉web开发中童鞋们都知道为了防止恶意破解.恶意提交.刷票等我们在提交表单数据时,都会使用随机验证码功能.在Android应用中我们同样需要这一功能,该如何实现呢,下面我们就自定义一个随机验证码View控件实现这一需求,并且具备通用性,需要的时候在界面中直接加入这个View组件即可. 二.案例介绍 案例运行效

Android通过自定义View实现随机验证码

很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章. 一.问题描述 熟悉web开发中童鞋们都知道为了防止恶意破解.恶意提交.刷票等我们在提交表单数据时,都会使用随机验证码功能.在Android应用中我们同样需要这一功能,该如何实现呢,下面我们就自定义一个随机验证码View控件实现这一需求,并且具备通用性,需要的时候在界面中直接加入这个View组件即可. 二.案例介绍 案例运行效

求大神解答一下-android 在自定义view 中添加popwindow报错

问题描述 android 在自定义view 中添加popwindow报错 android 在自定义view中添加popuwindow报错 GC_CONCURRENT freed 内存问题. 求大神给解决方案 解决方案 Android的ScrollView中添加自定义View----------------------

Android中自定义view实现侧滑效果_Android

效果图: 看网上的都是两个view拼接,默认右侧的不显示,水平移动的时候把右侧的view显示出来.但是看最新版QQ上的效果不是这样的,但给人的感觉却很好,所以献丑来一发比较高仿的. 知识点: 1.ViewDragHelper 的用法: 2.滑动冲突的解决: 3.自定义viewgroup. ViewDragHelper 出来已经比较久了 相信大家都比较熟悉,不熟悉的话google一大把这里主要简单用一下它的几个方法 1.tryCaptureView(View child, int pointerI

Android使用自定义View绘制渐隐渐现动画_Android

实现了一个有趣的小东西:使用自定义View绘图,一边画线,画出的线条渐渐变淡,直到消失.效果如下图所示: 用属性动画或者渐变填充(Shader)可以做到一笔一笔的变化,但要想一笔渐变(手指不抬起边画边渐隐),没在Android中找到现成的API可用.所以,自己做了一个. 基本的想法是这样的: 在View的onTouchEvent中记录触摸点,生成一条一条的线LineElement,放在一个List中.给每个LineElement配置一个Paint实例. 在onDraw中绘制线段. 变换LineE

Android中自定义view实现侧滑效果

效果图: 看网上的都是两个view拼接,默认右侧的不显示,水平移动的时候把右侧的view显示出来.但是看最新版QQ上的效果不是这样的,但给人的感觉却很好,所以献丑来一发比较高仿的. 知识点: 1.ViewDragHelper 的用法: 2.滑动冲突的解决: 3.自定义viewgroup. ViewDragHelper 出来已经比较久了 相信大家都比较熟悉,不熟悉的话google一大把这里主要简单用一下它的几个方法 1.tryCaptureView(View child, int pointerI

Android学习自定义View(二)——View和ViewGroup绘制流程以及invalidate()

MainActivity如下: package cc.testviewstudy2; import android.os.Bundle; import android.widget.LinearLayout; import android.app.Activity; /** * Demo描述: * 关于自定义View的学习(二) * * View的绘制流程:onMeasure()-->onLayout()-->onDraw() * * 学习资料: * 1 http://blog.csdn.ne

Android在自定义View(SurfaceView)中实现进度条Progress

http://www.havenliu.com/java/689.html Android本身带有Progress控件.可以在布局中灵活使用,但如果是在自定义的View或者SurfaceView中使用,就需要自己实现,其实不难,只要熟悉了android的PorterDuff,就能利用PorterDuff的遮罩效果方便的实现进度条. PorterDuff.Mode的灵活使用可以实现很多强大的功能,比如以前比较流行的美女擦玻璃,在屏幕上用手指绘图或橡皮檫等功能. 下面是源码,老规矩,完整源码中文章末

Android开发自定义View之滑动按钮与自定义属性

写博客辛苦了,转载的朋友请标明出处哦,finddreams:(http://blog.csdn.net/finddreams/article/details/40392975)        话不多说,先运行效果图:                  谈到自定义View,我们都知道Android系统原生内置不少的View控件,常用的有:        文本控件TextView和EditText,图片控件ImageView,按钮控件 Button和 ImageButton,进度条ProgressB