首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android中列表视图的Zigzag类型

android中列表视图的Zigzag类型
EN

Stack Overflow用户
提问于 2013-08-08 15:35:08
回答 2查看 1.3K关注 0票数 0

我想让android中的ListView像这样

在iPhone中,这是可能的,在iPhone中,他们过去称其为圆形视图

EN

回答 2

Stack Overflow用户

发布于 2013-08-08 17:35:33

也可以使用xml.jst来膨胀填充,然后在视图中添加“rowLayout”。下面的代码可以正确执行

请尝试下面的代码..

代码语言:javascript
运行
复制
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方法。根据您的要求更改阵列

代码语言:javascript
运行
复制
@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;
}

输出

票数 2
EN

Stack Overflow用户

发布于 2013-08-08 16:44:28

如果它不需要太动态,你可以使用滚动视图,它包含一个LinearLayout,在它里面有textViews,在左边有不同的填充,这会像这样错开它们,但这样做需要一段时间,而且长度不是很动态。不过,我想不出在android中有什么其他方法可以做到这一点。

就像这样,几次后开始递减填充以得到之字形

代码语言:javascript
运行
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18120405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档