在ActionBar.LayoutParams中的'addRule(int)'替代,比如RelativeLayout.LayoutParams中的addRule?

时间:2014-03-29 23:00:29

标签: android android-actionbar relativelayout layoutparams

我的代码放置在扩展Activity class的类中时有效,但 addRule 会出现编译错误,说明我在扩展ActionBarActivity时未定义。

Error:
The method addRule(int) is undefined for the type ActionBar.LayoutParams

问题addRule(int) in RelativeLayout.LayoutParamsActionBar.LayoutParams的替代方法是什么?

private void initializeSlidingLayer() {
    LayoutParams myrlp = (LayoutParams) mySlidingLayer.getLayoutParams();

    getResources().getDrawable(R.drawable.ic_launcher);



    //for bottom
    mySlidingLayer.setStickTo(SlidingLayer.STICK_TO_BOTTOM);


    myrlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); //THIS LINE THROWS ERROR WITH ACTIONBARACTIVITY
    myrlp.width = LayoutParams.MATCH_PARENT; 
    myrlp.height = getResources().getDimensionPixelSize(R.dimen.layer_width);

  //Adding Shadow
    mySlidingLayer.setShadowWidthRes(R.dimen.shadow_width);
    mySlidingLayer.setShadowDrawable(R.drawable.sidebar_shadow);

        //mSlidingLayer.setOffsetWidth(0);
    mySlidingLayer.setOffsetWidth(getResources().getDimensionPixelOffset(R.dimen.offset_width));    
}

可能与问题无关,但我正在尝试this SlidingLayer Library

2 个答案:

答案 0 :(得分:1)

您确定操作栏使用相对布局吗?如果没有,那么您不能将其视为相对布局布局参数,并且只能使用基本layoutParams函数

答案 1 :(得分:0)

我讨厌回答我自己的问题 - 但在我点击提交后,我只想到了一些可以尝试的东西(有效)。

而不是导入:

 import android.app.ActionBar.LayoutParams;

我需要导入:

 import android.widget.RelativeLayout.LayoutParams;

我仍然可以导入扩展ActionBarActivity。