从方法创建视图

时间:2014-04-24 08:09:55

标签: android view imageview

我制作了一个视图制作方法。我遇到了一个问题。 ImageView未显示..为什么会发生?

public ImageView createPhotoField(final Context context,
            LinearLayout reviewsLayout, Integer id, String comment, OnClickListener a, OnClickListener b) {

        /* reviewLayout */
        LinearLayout reviewLayout = new LinearLayout(context);
        reviewLayout.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.FILL_PARENT, densityToPixels(132,
                        context)));
        reviewLayout.setOrientation(LinearLayout.VERTICAL);
        reviewLayout.setGravity(Gravity.CENTER_VERTICAL);

        /* reviewEntryTopLayout */
        LinearLayout reviewEntryTopLayout = new LinearLayout(context);
        reviewEntryTopLayout.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.FILL_PARENT, densityToPixels(65,
                        context)));
        reviewEntryTopLayout.setOrientation(LinearLayout.HORIZONTAL);
        reviewEntryTopLayout.setGravity(Gravity.CENTER_VERTICAL);

        /* reviewsLayout */

        reviewsLayout.addView(reviewLayout);

        /* entryNumber */
        ImageView entryNumber = new ImageView(context);
        LinearLayout.LayoutParams entryNumberParams = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT);

        entryNumberParams.setMargins(40, 0, 0, 0);
        entryNumber.setLayoutParams(entryNumberParams);
    entryNumber.setImageResource(R.drawable.menu_button_bg_xml);
    //entryNumber.set
    reviewLayout.addView(reviewEntryTopLayout);

    //reviewEntryTopLayout.addView(entryNumber);

    /* table layout */

    TableLayout tl = new TableLayout(context);
    tl.setLayoutParams(new TableLayout.LayoutParams(
            TableLayout.LayoutParams.MATCH_PARENT,
            TableLayout.LayoutParams.WRAP_CONTENT, 1.0f));
    tl.setPadding(densityToPixels(20, context), 0, 0, 0);
    reviewEntryTopLayout.addView(tl);

    /* tableRow1 */
    TableRow tableRow1 = new TableRow(context);
    tableRow1.setLayoutParams(new TableRow.LayoutParams(
            TableRow.LayoutParams.WRAP_CONTENT,
            TableRow.LayoutParams.WRAP_CONTENT));

    tl.addView(tableRow1);      
    /* textView1 */
    TextView textView1 = new TextView(context);
    textView1.setLayoutParams(new TableRow.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    textView1.setText(comment);
    tableRow1.addView(entryNumber);
    tableRow1.addView(textView1);

    /* lightSeperatorLayout */
    LinearLayout lightSeperatorLayout = new LinearLayout(context);
    lightSeperatorLayout.setLayoutParams(new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.FILL_PARENT, densityToPixels(1,
                    context)));
    lightSeperatorLayout.setOrientation(LinearLayout.VERTICAL);
    lightSeperatorLayout.setBackgroundColor(Color.parseColor("#d5d5d5"));

    reviewLayout.addView(lightSeperatorLayout);

    /* reviewEntryBottomLayout */
    LinearLayout reviewEntryBottomLayout = new LinearLayout(context);
    reviewEntryBottomLayout.setLayoutParams(new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.FILL_PARENT, densityToPixels(65,
                    context)));
    reviewEntryBottomLayout.setOrientation(LinearLayout.VERTICAL);
    reviewEntryBottomLayout.setGravity(Gravity.CENTER_VERTICAL);

    reviewLayout.addView(reviewEntryBottomLayout);

    /* tableRow3 */
    TableRow tableRow3 = new TableRow(context);
    tableRow3.setLayoutParams(new TableRow.LayoutParams(
            TableRow.LayoutParams.FILL_PARENT,
            TableRow.LayoutParams.WRAP_CONTENT));
    tableRow3.setPadding(densityToPixels(10, context),
            densityToPixels(10, context), densityToPixels(10, context),
            densityToPixels(10, context));

    reviewEntryBottomLayout.addView(tableRow3);

    /* editButton */
    Button editButton = new Button(context);
    TableRow.LayoutParams editButtonParams = new TableRow.LayoutParams(
            TableRow.LayoutParams.WRAP_CONTENT, 150);
    editButtonParams.weight = 0.5f;
    editButtonParams.setMargins(15, 0, 30, 0);
    editButton.setLayoutParams(editButtonParams);
    editButton.setText("Fotografuoti");
    editButton.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {

        }
    });

    tableRow3.addView(editButton);

    /* reviewButton */
    Button reviewButton = new Button(context);
    TableRow.LayoutParams reviewButtonParams = new TableRow.LayoutParams(
            TableRow.LayoutParams.WRAP_CONTENT, 150);
    reviewButtonParams.weight = 0.5f;
    reviewButtonParams.setMargins(30, 0, 15, 0);
    reviewButton.setLayoutParams(reviewButtonParams);
    reviewButton.setText("Galerija");
    reviewButton.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {

        }
    });

    tableRow3.addView(reviewButton);

    editButton.setOnClickListener(a);
    reviewButton.setOnClickListener(b);
    return entryNumber;
}

0 个答案:

没有答案