android gallery textview水平列表圆边

时间:2012-07-20 20:23:05

标签: android list textview gallery

我正在实现水平滚动文本视图列表,就像带有翻阅页面的电子书一样。我采用Gallery小部件显示TextViews。我遇到的第一个问题是每个页面的左右边缘看起来都是圆形的。

以下是示例代码:

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">

    <Gallery android:id="@+id/gallery" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:spacing="0px"/>         

</LinearLayout>

page.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gallery_item"
    android:layout_width="match_parent" 
    android:layout_height="match_parent">

    <TextView android:id="@+id/textView" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:background="#000"/>

</LinearLayout>

GalleryActivity.java

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.TextView;

public class GalleryActivity extends Activity {

     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);

         Gallery gallery = (Gallery) findViewById(R.id.gallery);
         gallery.setAdapter(new GalleryAdapter(this));
     }

     private class GalleryAdapter extends BaseAdapter {

        private Context context; // needed to create the view

        public GalleryAdapter(Context c) {
            context = c;
        }

        public int getCount() {
            return 5;
        }

        public Object getItem(int position) {
            return position; //TODO: get the object on the position
        }

        public long getItemId(int position) {
            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            View v;

            if(convertView == null)
                v = LayoutInflater.from(context).inflate(R.layout.page, parent, false);
            else
                v = convertView;


            TextView tv = (TextView) v.findViewById(R.id.textView);
            tv.setText("Page" + position);

            return v;
        }
    }
}

任何想法如何获取页面边缘,例如标题栏?也许是实现目标的另一种方式?

1 个答案:

答案 0 :(得分:0)

在page.xml中使用

而不是givin match_parent为布局提供fxd宽度,并为txtview提供sm填充。 并且不推荐使用FYI Gallery,而是使用视图寻呼机。 View寻呼机也附带兼容包:http://developer.android.com/tools/extras/support-library.html

如果你不能给出fxd宽度,那么你只能尝试使用填充,这可能会刺激你的prblm