Android 自定义Listview/Recyclerview
我想在android中实现自定义listview,它的行由小变大,如下所示 如果不是listview/recyclerview,那么我可以使用android的其他组件吗Android 自定义Listview/Recyclerview,android,android-layout,android-recyclerview,android-adapter,Android,Android Layout,Android Recyclerview,Android Adapter,我想在android中实现自定义listview,它的行由小变大,如下所示 如果不是listview/recyclerview,那么我可以使用android的其他组件吗 任何帮助都将不胜感激 对于listview,在填充列表后,您将需要以下内容: private void changeSizes() { View v; View v1; TextView tv; // this one depends on your layout TextView tv1;
任何帮助都将不胜感激 对于listview,在填充列表后,您将需要以下内容:
private void changeSizes() {
View v;
View v1;
TextView tv; // this one depends on your layout
TextView tv1;
int count = myList.getCount();
int middleRowIndex = (int)count/2 ;
TextView midRow = myList.getAdapter().getView(middleRowIndex, null, null).findViewById(R.id.textView);
midRow.setTextSize(TypedValue.COMPLEX_UNIT_SP,(int)(count * middleRowIndex));
int prevIndex = middleRowIndex - 1;
int nextIndex = middleRowIndex + 1;
while(prevIndex >=0 && nextIndex < count){
v = myList.getAdapter().getView(prevIndex, null, null);
tv = (TextView) v.findViewById(R.id.textview);
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP,(int)(count * prevIndex));
v1 = myList.getAdapter().getView(nextIndex, null, null);
tv1 = (TextView) v.findViewById(R.id.textview);
tv1.setTextSize(TypedValue.COMPLEX_UNIT_SP,(int)(count * prevIndex));
prevIndex--;
nextIndex++;
}
}
private void changeSizes(){
观点五;
视图v1;
TextView tv;//这取决于您的布局
文本视图tv1;
int count=myList.getCount();
int middleRowIndex=(int)计数/2;
TextView midRow=myList.getAdapter().getView(middleRowIndex,null,null).findViewById(R.id.TextView);
中行.setTextSize(TypedValue.COMPLEX_UNIT_SP,(int)(计数*中行索引));
int-prevIndex=middleRowIndex-1;
int-nextIndex=middleRowIndex+1;
而(prevIndex>=0&&nextIndex
v、 v1、tv和tv1是自定义listview中的视图,因此您可能需要更改它们,以及计算字体大小和设置字体大小的方法,您可能需要更改它们
另外,我没有在应用程序上尝试此代码,但它应该可以工作。如果遇到错误,请告诉我。您是说所选字体是最大的字体吗?或者它总是从小到大再到小?我想他真正想要的是有一个项目列表,当你刷的时候,中间的一个被选中了。。。类似于圆形的
ListView
只需使用位置作为乘数并设置文本大小。或者您可以使用文本大小的整数数组。@YamenNassif yes它将始终从小到大到小smaller@Mehdi看看我贴的链接