2012-03-02 8 views
1

これは私がコーディングでやっていることです。ボタンのクリックでコントロールを作成したいのです。ユーザーがクリックする回数同じ時間数のコントロールを追加したい。 これらのコントロールを相対レイアウトに追加する必要があります。すでにXMLレイアウトで作成していたコントロールを1セット追加しています。ユーザーが編集したい場合は、より多くのコントロールを作成したいと思っています。dynamicalyコントロールをAndroidのボタンでクリックしてください。

View DynamicView= new View(this); 
    DynamicView.setId(123);     
    DynamicView.setLayoutParams(new LayoutParams(1, LayoutParams.MATCH_PARENT)) 

以下はXMLレイアウトコードです。

<View 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="@android:color/black" /> 

問題: - 1)は、IDSをこのように与えたい:(

DynamicView.setId(123); 

)私たちは、XMLレイアウトで

android:id="@+id/spnrIngredients1" 

2を割り当てることができるようなIDを割り当てたいいけません

android:layout_toRightOf="@id/tvIngredientsName" 
android:layout_toLeftOf="@id/tvIngredientsName" 
android:layout_below="@id/tvIngredientsName" 
android:layout_above="@id/tvIngredientsName" 
など、相対的なレイアウトの値を与える方法

3)背景色の値を与える方法。 16進コードなどを受け付けていません。どのような型のint値を求めていますか?

答えて

0

2)RelativeLayoutのビューを配置するためのルールを設定するLayoutParamsを使用:

Button b = new Button(this); 
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.WRAP_CONTENT, 
    RelativeLayout.LayoutParams.WRAP_CONTENT); 
lp.addRule(RelativeLayout.BELOW, viewID); 
b.setLayoutParams(lp); 
b.setText("Added at Bottom"); 
mParent.addView(b, lp); 

上記のコードは、ID viewIDとビュー怒鳴るButtonを配置します。

3)setBackgroundColor()は(私はこれは、使用している方法だと思います)Colorを表すintを必要とし、あなたはその方法では、この方法を、それを設定することができます。

Color.RED 
Color.parse(Color.parseColor("#0077cc")) 
android.R.color.black 

1)あなたには、あなたのIDを設定することができます後でvalues/ids.xmlファイルとあなたの意見にそれらを設定し、これらのIDによりビューを参照してください。

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item type="id" name="myfirstid" />  
</resources> 

今、あなたは(これはあなたが望むものであるならば、私は知りません)あなたのコード内のid R.id.myfirstidを使用することができます。 注: これが推奨されるかどうかわかりません。

+0

特に "addrule"と "ids"を別々のXMLファイルに保存してくれてありがとう。私は本当にそのようなものを探していた – DeltaCap