2016-06-22 5 views
1

私は約3日前にAndroidで開発を始めました。だから、私と一緒に裸にしてください。与えられた値に応じて背景の高さを描くAndroid

単純に、私は与えられた番号に応じて色が変わる私のアプリの背景を持っていたいと思います。私はもう少し詳しく説明しましょう。たとえば、100のうち40を渡すと、画面の2/5がx色になり、他の3/5がもう1つの色になります。

40/100     40/60 
+---+      +---+ 
| | 3/5 not filled in | | 1/3 not filled in 
| |      |...| 2/3 filled in 
| |      |...| 
|...| 2/5 filled in  +---+ 
|...| 
+---+ 

だから私は、私は形に描画することで(一定数を与える)、動的な背景を作って行く可能性が考えていた。ここでは、2つの小さな図です。問題は、私がこれをどうやってやっていくのか、私は確信していません。どこでシェイプを描画するためのコードを配置すればいいですか?正しい場所にXMLファイルを挿入するにはどうすればよいでしょうか(私のXMLには既に静的な色の背景があります)

答えて

0

いいえ、2つの線形レイアウトでアクティビティを作成する必要があります。 width属性はmatch_parentに設定され、高さは0dpに設定されます。レイアウトの重さX%で高さを設定することができます。

例として、これらのレイアウトは、画面25%〜75%に分割:

<LinearLayout 

    layout_weight="1"/> 

<LinearLayout 

    layout_weight="3"/> 

は彼らプログラム(重量および背景色)の値を変更するためのIDを与えます。

あなたは、このようにそれを行うことができます。

LinearLayout top = findViewById(R.id.top); 

//Third Param stands for weight 
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
          LayoutParams.MATCH_PARENT, 0, 1.0f); 

top.setLayoutParams(param); 
    top.setBackgroundColor(Color.BLUE); 
+0

ああ、独創的! :Dどのように私は彼らの高さを変更するだろうと、正確にどこですか? –

+0

高さが0dpに設定されているときにウェイトを変更すると、高さが変更されます –

+0

XMLでは高さはわかりませんが、実際のコードから変更する必要があります。 –

関連する問題