を失い、私はこのレイアウトを持っている:(アンドロイド)プログラムで満たされますscrollviewがタイトル
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:background="#000"
android:gravity="center_horizontal|center_vertical"
android:orientation="vertical">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal|center_vertical">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/play"
android:gravity="center_horizontal"
android:scaleType="centerInside"
android:text="@string/highScores"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#fff" />
<View
android:layout_width="1dp"
android:layout_height="20dp"></View>
<TableLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal">
</TableLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
私はこのような要素を 'コンテナ' TableLayoutを埋める:
layout.addView(buildTitleRow());
for (int i = 0; i < users.length(); i++) {
JSONObject parent = (JSONObject) users.get(i);
layout.addView(buildRowFrom(parent, i + 1));
}
がbuildTitleRow:
private TableRow buildTitleRow(){
TableRow result = new TableRow(this);
int color = Color.parseColor("#ffff00");
View view = new View(this);
view.setMinimumWidth(10);
result.addView(view);
view = new View(this);
view.setMinimumWidth(10);
result.addView(view);
//the same for other views
return result;
}
buildRowFrom:
これは実際にはスクロールが場所を取るために必要になるまでよく働くprivate TableRow buildRowFrom(final JSONObject element, int counter) throws JSONException {
TableRow result = new TableRow(this);
String rowName = element.getString("name");
int color = Color.parseColor("#00ff00");
if(rowName.equals(userName)){
color = Color.parseColor("#ffffff");
}
TextView textView = new TextView(this);
textView.setText(counter + ".");
textView.setTextColor(color);
result.addView(textView);
//some other views
return result;
}
...画面の高さよりも多くの要素があるいったん
テーブルは(幸運にも)スクロール可能なままですが、オリジナルの「タイトル」のTextViewはdoesnの
誰かが、画面のサイズよりももう1つの要素が追加された状態になるようにレイアウトを微調整する方法を知っていますか?いいえ、それ以上表示されません。
どうもありがとう、
S.
それは役立ちますが、あなたは削除する場合は「中央」と内側のレイアウトその(なぜ私はそのプロパティを置くのですか)、上に構築するための素敵な答え、私は私のニーズに合わせて小さな適応を行いました(下記の回答を参照)。私が夢見ることができる最高のレイアウト;-)多くのありがとう! – Bamboomy
私はちょうどこの質問を見て、あなたが見たいかもしれない何かを見つけました。 – Paul