Android 向SlidingDrawer动态添加文本视图
我想将文本视图动态添加到滑动抽屉。下面是我的XML代码:Android 向SlidingDrawer动态添加文本视图,android,android-layout,android-view,android-sliding,Android,Android Layout,Android View,Android Sliding,我想将文本视图动态添加到滑动抽屉。下面是我的XML代码: <SlidingDrawer android:id="@+id/sdDrawerBottom" android:layout_width="match_parent" android:layout_height="100dp" android:layout_alignParentBottom="true" android:content="@+id/sdBottomContent" a
<SlidingDrawer
android:id="@+id/sdDrawerBottom"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:content="@+id/sdBottomContent"
android:handle="@+id/sdBottomHandle"
android:orientation="vertical" >
<ImageView
android:id="@+id/sdBottomHandle"
android:layout_width="50dp"
android:layout_height="20dp"
android:background="@drawable/shape_rounded_corners_blue_top"
android:scaleType="center"
android:src="@drawable/icon_arrow_up_white" />
<LinearLayout
android:id="@+id/sdBottomContent"
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="vertical"
android:scrollbars="vertical" >
<LinearLayout
android:id="@+id/llBottomNavigation"
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="horizontal"
android:scrollbars="horizontal" >
</LinearLayout>
</LinearLayout>
</SlidingDrawer>
这是我的java代码:
LinearLayout llBottomNavigation = (LinearLayout) mButtonsView
.findViewById(R.id.llBottomNavigation);
for (int i = 0; i < navigationList.size(); i++) {
TextView tvTab = new TextView(this);
tvTab.setText(Content.getTitle(navigationList.get(i)));
tvTab.setId(i);
tvTab.setTextColor(getResources().getColor(android.R.color.black));
tvTab.setTextSize(12);
if (Hardware.getScreenSize(this) > 4) {
tvTab.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
} else {
tvTab.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
} tvTab.setSingleLine(true);
tvTab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
llBottomNavigation.addView(tvTab);
llBottomNavigation.invalidate();
}
LinearLayout llBottomNavigation=(LinearLayout)mButtonsView
.findviewbyd(R.id.llBottomNavigation);
对于(int i=0;i4){
tvTab.setLayoutParams(新的LayoutParams(LayoutParams.WRAP_内容,
LayoutParams.WRAP_内容);
}否则{
tvTab.setLayoutParams(新的LayoutParams(LayoutParams.WRAP_内容,
LayoutParams.WRAP_内容);
}tvTab.setSingleLine(真);
tvTab.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
}
});
llBottomNavigation.addView(tvTab);
llBottomNavigation.invalidate();
}
它没有向滑动抽屉添加任何文本视图。我的代码中有错误吗?@unflagged.destination,而addView应该将layoutparms与view一起传递。。。试试这个
SlidingDrawer slidingDrawer = (SlidingDrawer) findViewById(R.id.slidingDrawer);
LinearLayout llBottomNavigation = (LinearLayout) slidingDrawer.findViewById(R.id.llBottomNavigation);
for (int i = 0; i < 10; i++) {
System.out.println("in loop, " + i);
TextView tvTab = new TextView(this);
tvTab.setText("item "+i);
tvTab.setId(i);
tvTab.setTextColor(getResources().getColor(android.R.color.black));
tvTab.setTextSize(12);
/* if (Hardware.getScreenSize(this) > 4) {
tvTab.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
} else {
tvTab.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
} tvTab.setSingleLine(true);*/
tvTab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
LinearLayout.LayoutParams paramsFortvTab = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
llBottomNavigation.addView(tvTab, paramsFortvTab);
//llBottomNavigation.invalidate();
}
SlidingDrawer SlidingDrawer=(SlidingDrawer)findViewById(R.id.SlidingDrawer);
LinearLayout llBottomNavigation=(LinearLayout)slidingDrawer.findviewbyd(R.id.llBottomNavigation);
对于(int i=0;i<10;i++){
System.out.println(“in-loop,+i”);
TextView tvTab=新的TextView(此);
tvTab.setText(“项目”+i);
tvTab.setId(i);
setTextColor(getResources().getColor(android.R.color.black));
tvTab.SettexSize(12);
/*if(Hardware.getScreenSize(此)>4){
tvTab.setLayoutParams(新的LayoutParams(LayoutParams.WRAP_内容,LayoutParams.WRAP_内容));
}否则{
tvTab.setLayoutParams(新的LayoutParams(LayoutParams.WRAP_内容,LayoutParams.WRAP_内容));
}tvTab.setSingleLine(真)*/
tvTab.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
}
});
LinearLayout.LayoutParams paramsforvtab=新建LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_内容,LinearLayout.LayoutParams.WRAP_内容);
llBottomNavigation.addView(tvTab,paramsforvtab);
//llBottomNavigation.invalidate();
}
如果有任何疑问,请询问