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

android studio报错。。Exception raised during rendering: Can't make a decor toolbar out of ActionBar(我的文件叫ActionBar)

package com.example.demo.ui;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.Gravity;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.example.demo.R;

/**
 * Created by xiaoqing on 2015/7/8.
 */
public class ActionBar extends RelativeLayout
{

    private Button leftButton, rightButton;
    private TextView titleTextView;

    private String titleText;
    private int titleTextColor;
    private float titleTextSize;

    private String leftText;
    private int leftTextColor;
    private Drawable leftBackground;

    private String rightText;
    private int rightTextColor;
    private Drawable rightBackground;

    private LayoutParams leftParams, rightParams, titleParams;

    public ActionBar(Context context, AttributeSet attrs)
    {
        super(context, attrs);
        TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.ActionBar);
        leftText = ta.getString(R.styleable.ActionBar_leftText);
        leftTextColor = ta.getColor(R.styleable.ActionBar_leftTextColor, 0);
        leftBackground = ta.getDrawable(R.styleable.ActionBar_leftBackground);

        rightText = ta.getString(R.styleable.ActionBar_rightText);
        rightTextColor = ta.getColor(R.styleable.ActionBar_rightTextColor, 0);
        rightBackground = ta.getDrawable(R.styleable.ActionBar_rightBackground);

        titleText = ta.getString(R.styleable.ActionBar_titleText);
        titleTextColor = ta.getColor(R.styleable.ActionBar_titleTextColor, 0);
        titleTextSize = ta.getDimension(R.styleable.ActionBar_titleTextSize, 0);
        ta.recycle();

        leftButton = new Button(context);
        rightButton = new Button(context);
        titleTextView = new TextView(context);

        leftButton.setText(leftText);
        leftButton.setTextColor(leftTextColor);
        leftButton.setBackground(leftBackground);

        rightButton.setText(rightText);
        rightButton.setTextColor(rightTextColor);
        rightButton.setBackground(rightBackground);

        titleTextView.setText(titleText);
        titleTextView.setTextColor(titleTextColor);
        titleTextView.setTextSize(titleTextSize);
        titleTextView.setGravity(Gravity.CENTER);

        setBackgroundColor(0xffff0000);

        leftParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        leftParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, TRUE);
        addView(leftButton, leftParams);

        rightParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        rightParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, TRUE);
        addView(rightButton, rightParams);

        titleParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
        titleParams.addRule(RelativeLayout.CENTER_IN_PARENT, TRUE);
        addView(titleTextView, titleParams);
    }
}


正在回答

2 回答

设置style 的theme 为 NoActionBar试试

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

ViewGroup.LayoutParams.WRAP_CONTENT

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

举报

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

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

进入课程

android studio报错。。Exception raised during rendering: Can't make a decor toolbar out of ActionBar(我的文件叫ActionBar)

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