我想让android中的ListView像这样

在iPhone中,这是可能的,在iPhone中,他们过去称其为圆形视图
发布于 2013-08-08 17:35:33
也可以使用xml.jst来膨胀填充,然后在视图中添加“rowLayout”。下面的代码可以正确执行
请尝试下面的代码..
public class MainActivity extends ListActivity {
/** Called when the activity is first created. */
ListView lv;
int [] arr={20,40,60,80,80,60,40,20};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
lv=getListView();
CustomAdapter adapter=new CustomAdapter(this, arr);
lv.setAdapter(adapter);}
在customAdapter中编写下面的getview方法。根据您的要求更改阵列
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout ll = new LinearLayout(context);
LinearLayout llInside = new LinearLayout(context);
ll.setLayoutParams(new ListView.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
llInside.setLayoutParams(new ListView.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
TextView tv = new TextView(context);
tv.setLayoutParams(new ListView.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
tv.setText("this is textbview");
tv.setTextColor(Color.RED);
tv.setLayoutParams(new ListView.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
llInside.addView(tv);
//the padding is set here dynamically
int rem = position % 8;
Log.d("" + rem, "" + rem);
llInside.setPadding(img[rem], 0, 0,0 );
ll.addView(llInside);
return ll;
}输出

发布于 2013-08-08 16:44:28
如果它不需要太动态,你可以使用滚动视图,它包含一个LinearLayout,在它里面有textViews,在左边有不同的填充,这会像这样错开它们,但这样做需要一段时间,而且长度不是很动态。不过,我想不出在android中有什么其他方法可以做到这一点。
就像这样,几次后开始递减填充以得到之字形
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="16dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:text="TextView" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="40dp"
android:text="TextView" />
</LinearLayout>
</ScrollView>https://stackoverflow.com/questions/18120405
复制相似问题