1

ActionBar タブを使用する FragmentActivity があります。タブの 1 つには、一連のチャートを保持するタブ ホストがあります。

このアクティビティは検索によって開始されるため、アクティビティの読み込み中にキーボードが消えます。これにより、最初のタブのグラフが圧縮されて表示されます。これは、アクティビティの最初の読み込み時にのみ発生します。2 回目の検索では、グラフが完全に表示されます。

TabHost アクティビティは次のようになります。

[Activity]
public class MonthlySalesChartView : Activity
{
    private CustomerRepository _customerRespository;
    private BaseChart _chart;
    private string _code;

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        _customerRespository = new CustomerRepository();

        _chart = BuildChart();

        _code = Intent.GetStringExtra("customer_code");

        SetContentView(_chart);
    }

    private BaseChart BuildChart()
    {
        var data = _customerRespository.GetMonthlySalesData(_code);
        var tChart = new BaseChart(ApplicationContext, "Monthly Sales History");
        tChart.Axes.Left.Title.Text = "Spend ($)";
        tChart.Aspect.View3D = false;
        var bar1 = new BaseBar(tChart.Chart) { Title = "Customer Spend" };
        bar1.Marks.Visible = false;
        var avgLine = new Line(tChart.Chart) { Title = "Average Spend", Dark3D = false, LinePen = { Width = 4 } };

        foreach (var month in data.ResultSet.MonthlySales)
        {
            bar1.Add(month.Value, month.MonthName);
        }

        avgLine.DataSource = bar1;
        avgLine.Function = new Average(true);
        avgLine.Depth = 50;

        return tChart;
    }
}

外観の例

チャート

4

1 に答える 1

1

調整してみてください

アクティビティのAndroidManifest.xmlで入力モードを設定します。

android:windowSoftInputMode="stateVisible|adjustPan"

これにより、画面の領域を占めるキーボードに対応するために、システムが画面の調整を処理する方法が調整されます。

于 2012-09-06T04:39:51.073 に答える