改变片段内视图的背景颜色



好,这是我的新问题;

我试图改变一个片段内的视图的背景颜色。

它已经设置好并且工作正常。但是背景似乎就是不改变颜色。

我怀疑会发生这种情况,因为这个视图在填充父视图上还有其他视图,所以即使它改变了颜色,我也看不到它。

无论如何,我已经设置了这些视图的颜色为颜色。透明的,但仍然不工作…

这是我的xml文件:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:id = "@+id/lay_1">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/position"
    android:id="@+id/pos"/>

<ViewFlipper
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/pos"
    android:id="@+id/flipper_1"
    >
    <include layout="@layout/cart"/>
    <include layout="@layout/ang"/>
    <include layout="@layout/data_graph"/>
</ViewFlipper>

如果你需要更多的信息,请尽管开口。

谢谢你。

路易斯。

我有一个类似的问题,你应该尝试创建一个在片段的oncreate调用的方法来更新片段视图的内部(背景颜色,文本…)例:public static LinearLayout getcolor(LayoutInflater inflater, ViewGroup container, boolean bf){

int i;
View v;
TextView t;
LinearLayout ll;
int r = (int)Math.round(Math.random()*255+1);
int g = (int)Math.round(Math.random()*255+1);
int b = (int)Math.round(Math.random()*255+1);
i=Color.argb(200,r,g,b);
if(bf){
    ll = (LinearLayout )inflater.inflate(R.layout.fragment_card_front, container, false);
    v=ll.findViewById(R.id.frag_card_front);
    v.setBackgroundColor(i);
    t=(TextView) ll.findViewById(R.id.textf);
    t.setText(""+i);
}
else{
        ll = (LinearLayout )inflater.inflate(R.layout.fragment_card_back, container, false);
        v=ll.findViewById(R.id.frag_card_back);
        v.setBackgroundColor(i);
        t=(TextView) ll.findViewById(R.id.textb);
        t.setText(""+i);
}
return ll;
}

public static class CardFrontFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        LinearLayout ll = (LinearLayout ) getcolor(inflater, container,true);
     return ll;
    }
}

public static class CardBackFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        LinearLayout ll = (LinearLayout ) getcolor(inflater, container,false);      
        return ll;
    }
}

相关内容

  • 没有找到相关文章

最新更新