繁体   English   中英

将自定义视图放入自定义ScrollView中

[英]Putting Custom View Inside a Custom ScrollView

我正在创建具有自定义视图和自定义ScrollView的android应用。 我试图将自定义视图放入滚动视图中。 它似乎不起作用,因为我只是收到一个空白屏幕。

Dashboard.java

package com.commentblock.fandoms;

import com.commentblock.fandom.R;
import com.commentblock.fandom.R.layout;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.Toast;

public class Dashboard extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //Set the content view to the dashbaord
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.setContentView(new StatusViewScroll(this));

    }
}

StatusViewScroll.java

package com.commentblock.fandoms;

import android.content.Context;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.ScrollView;

public class StatusViewScroll extends RelativeLayout {
    public StatusViewScroll(Context c) {
        super(c);
        ScrollView scrollView = new ScrollView(c);
        StatusView statusView = new StatusView(c);
        scrollView.addView(statusView);
        addView(scrollView);
    }
}

StatusView.java在没有ScrollView情况下也可以正常工作,但是当我将其添加到ScrollView ,它就会中断。 没有错误,只是黑屏。

我已自行解决问题。 问题出在StatusView.java,我需要在其中重写onMeasure事件。

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    WindowManager wm = (WindowManager) this.getContext().getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    setMeasuredDimension(display.getWidth(), display.getHeight());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM