为了账号安全,请及时绑定邮箱和手机立即绑定

两边的button不能点击,button的text属性和background属性设置后都能显示,但是点击上面的文字却没任何反应,就好像变成了textview一样。

package com.example.test;


import android.content.Context;

import android.content.res.TypedArray;

import android.graphics.drawable.Drawable;

import android.util.AttributeSet;

import android.view.Gravity;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.RelativeLayout;

import android.widget.TextView;


public class Topbar extends RelativeLayout{


private  Button leftButton,rightButton;

private  TextView tvTitle;

private int leftTextcolor;

private Drawable leftBackground;

private String leftText;

private int rightTextcolor;

private Drawable rightBackground;

private String rightText;

private float titleTextsize;

private int titleTextcolor;

private String  title;

private LayoutParams leftparams, rightparams, titleparams;

public Topbar(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

TypedArray ta=context.obtainStyledAttributes(attrs,R.styleable.Topbar);

leftTextcolor=ta.getColor(R.styleable.Topbar_leftTextColor, 0);

leftBackground=ta.getDrawable(R.styleable.Topbar_leftBackground);

leftText=ta.getString(R.styleable.Topbar_leftText);

rightTextcolor=ta.getColor(R.styleable.Topbar_rightTextColor, 0);

rightBackground=ta.getDrawable(R.styleable.Topbar_rightBackground);

rightText=ta.getString(R.styleable.Topbar_rightText);

   

titleTextsize=ta.getDimension(R.styleable.Topbar_titleTextSize,0);

titleTextcolor=ta.getColor(R.styleable.Topbar_titleTextColor,0);

title=ta.getString(R.styleable.Topbar_title);

 

ta.recycle();

 

leftButton=new Button(context);

rightButton=new Button(context);

tvTitle=new TextView(context);

 

leftButton.setTextColor(leftTextcolor);

leftButton.setBackground(leftBackground);

leftButton.setText(leftText);

 

rightButton.setTextColor(rightTextcolor);

rightButton.setBackground(rightBackground);

rightButton.setText(rightText);

 

tvTitle.setTextColor(titleTextcolor);

tvTitle.setTextSize(titleTextsize);

tvTitle.setText(title);

tvTitle.setGravity(Gravity.CENTER);

 

setBackgroundColor(0xFFF59563);

 

leftparams=new LayoutParams(ViewGroup.LayoutParams.

WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

leftparams.addRule(RelativeLayout.ALIGN_PARENT_LEFT,TRUE);

addView(leftButton, leftparams);

 

rightparams=new LayoutParams(ViewGroup.LayoutParams.

WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

rightparams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,TRUE);

addView(rightButton, rightparams);

 

titleparams=new LayoutParams(ViewGroup.LayoutParams.

WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

titleparams.addRule(RelativeLayout.CENTER_IN_PARENT,TRUE);

addView(tvTitle, titleparams);

 

}


}


正在回答

2 回答

同问,请问解决了吗

0 回复 有任何疑惑可以回复我~

button没有设置click事件

0 回复 有任何疑惑可以回复我~
#1

zdhcristy

设置了事件之后点击Button有效,但是没有点击效果怎么破?
2016-05-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android UI模板设计
  • 参与学习       76052    人
  • 解答问题       223    个

快来学习如何在Android中自定义View,本次课程一定会让你获益匪浅

进入课程

两边的button不能点击,button的text属性和background属性设置后都能显示,但是点击上面的文字却没任何反应,就好像变成了textview一样。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信