gpt4 book ai didi

android - Fancycoverflow 布局无法正常工作

转载 作者:搜寻专家 更新时间:2023-11-01 08:43:10 25 4
gpt4 key购买 nike

我在我的应用程序中添加了花哨的封面流,它工作正常但问题是,花哨的封面流的 View 显示得很奇怪..

我按照这个例子https://github.com/davidschreiber/FancyCoverFlow

我想要这样的东西

enter image description here

但是我得到的输出是这样的

enter image description here

我的意思是一次只有一张图片显示在屏幕上,在任何一侧我都看不到下一张图片

我的适配器

class CoverAdapter extends FancyCoverFlowAdapter {
private LayoutInflater inflater;
public Activity a;
View vi;
public ArrayList<HashMap<String, String>> arr;
public ArrayList<HashMap<String, String>> data;

public CoverAdapter(Activity homeActivity, ArrayList<HashMap<String, String>> myList) {

arr = myList;
a = homeActivity;
inflater = (LayoutInflater) a.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

@Override
public int getCount() {
return arr.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
System.out.println("position=" + position);
return position;
}

@Override
public View getCoverFlowItem(int position, View convertView, ViewGroup parent) {
Log.d("aaa", position + "");
View vi = convertView;
if (vi == null)
vi = inflater.inflate(R.layout.create_club_inflate, null);

TextView date1 = (TextView) vi.findViewById(R.id.txtDate1);
TextView date = (TextView) vi.findViewById(R.id.txtDate);
TextView team1_name = (TextView) vi.findViewById(R.id.txtTeamName);
TextView team2_name = (TextView) vi.findViewById(R.id.txtVanue);
TextView ground = (TextView) vi.findViewById(R.id.txt_time);

HashMap<String, String> product = new HashMap<String, String>();
product = arr.get(position);

System.out.println("name 1= " + product.get("str_team1_name") + " team 2="
+ product.get("str_team2_obj_name"));
date1.setText(product.get("str_srs"));
date.setText(product.get("str_startdt"));
team1_name.setText(product.get("str_team1_name"));
team1_name.setAlpha(5000);
team2_name.setText(product.get("str_team2_obj_name"));
team2_name.setAlpha(5000);
Typeface font = Typeface.createFromAsset(getAssets(), "TitilliumText22L006.otf");

int[] color = { Color.rgb(100, 100, 100), Color.rgb(255, 255, 255) };
float[] color_position = { 0, 1 };
TileMode tile_mode = TileMode.MIRROR; // or TileMode.REPEAT;
LinearGradient lin_grad = new LinearGradient(0, 0, 0, 50, color, color_position, tile_mode);
Shader shader_gradient = lin_grad;
team1_name.getPaint().setShader(shader_gradient);
team2_name.getPaint().setShader(shader_gradient);
team1_name.setTypeface(font);
team2_name.setTypeface(font);
ground.setText(product.get("str_grnd"));

product.get("str_sName");
product.get("str_team2_obj_sName");


String first_team_id = product.get("str__team1_id");
String second_team_id = product.get("str_team2_obj_id");


return vi;
}

最佳答案

请检查以下代码:

public class MyDemoActivity extends Activity {

// =============================================================================
// Supertype overrides
// =============================================================================

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.layout_inflate_example);

FancyCoverFlow fancyCoverFlow = (FancyCoverFlow) findViewById(R.id.fancyCoverFlow);
fancyCoverFlow.setReflectionEnabled(true);
fancyCoverFlow.setReflectionRatio(0.3f);
fancyCoverFlow.setReflectionGap(0);

fancyCoverFlow.setAdapter(new ViewGroupExampleAdapter());
}

// =============================================================================
// Private classes
// =============================================================================

private static class ViewGroupExampleAdapter extends FancyCoverFlowAdapter {

// =============================================================================
// Private members
// =============================================================================

private int[] images = {R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image5, R.drawable.image6,};

// =============================================================================
// Supertype overrides
// =============================================================================

@Override
public int getCount() {
return images.length;
}

@Override
public Integer getItem(int i) {
return images[i];
}

@Override
public long getItemId(int i) {
return i;
}

@Override
public View getCoverFlowItem(int i, View reuseableView, ViewGroup viewGroup) {
CustomViewGroup customViewGroup = null;

if (reuseableView != null) {
customViewGroup = (CustomViewGroup) reuseableView;
} else {
customViewGroup = new CustomViewGroup(viewGroup.getContext());
customViewGroup.setLayoutParams(new FancyCoverFlow.LayoutParams(300, 600));
}

customViewGroup.getImageView().setImageResource(this.getItem(i));

return customViewGroup;
}
}

private static class CustomViewGroup extends LinearLayout {

// =============================================================================
// Child views
// =============================================================================

private ImageView imageView;

private Button button;

// =============================================================================
// Constructor
// =============================================================================

private CustomViewGroup(Context context) {
super(context);

this.setOrientation(VERTICAL);
this.setWeightSum(5);

this.imageView = new ImageView(context);
this.button = new Button(context);

LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

this.imageView.setLayoutParams(layoutParams);
this.button.setLayoutParams(layoutParams);

this.imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
this.imageView.setAdjustViewBounds(true);

this.button.setText("Goto GitHub");
this.button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://davidschreiber.github.com/FancyCoverFlow"));
view.getContext().startActivity(i);
}
});

this.addView(this.imageView);
this.addView(this.button);
}

// =============================================================================
// Getters
// =============================================================================

private ImageView getImageView() {
return imageView;
}
}
}

关于android - Fancycoverflow 布局无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30911244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com