2012-08-01 2 views
2

프로그래밍 방식으로 UI 컨트롤을 만들고 내 EditText가 화면에 나타나지 않아야합니다.Android : 프로그래밍 방식으로 스타일을 설정할 때 EditText가 표시되지 않습니다.

이것은 테이블 행을 프로그래밍 방식으로 추가하는 일종의 스켈레톤 XML입니다.

<?xml version="1.0" encoding="utf-8"?> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <LinearLayout android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:focusable="true" 
     android:focusableInTouchMode="true" 
     android:orientation="vertical" 
     android:paddingLeft="20dp" 
     android:id="@+id/main_layout"> 

     <TableLayout android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="50dp" 
      android:id="@+id/myTable" > 

     </TableLayout> 


    </LinearLayout> 

</ScrollView> 

이는

TableLayout mainTable = (TableLayout) findViewById(R.id.myTable); 
TableRow row = new TableRow(this); 

TextView textView = new TextView(this); 
textView.setText("Text1"); 
row.addView(textView); 

EditText editText = new EditText(this, null, R.style.editTextStyle); 
row.addView(editText); 

mainTable.addView(row); 

내 editTextStyle은 다음과 같다, 내 활동에 자바 코드

<style name="editTextStyle"> 
    <item name="android:paddingTop">10dp</item> 
    <item name="android:paddingLeft">7dp</item> 
    <item name="android:textSize">27sp</item> 
    <item name="android:layout_width">150dp</item> 
<item name="android:layout_height">50dp</item> 
</style> 

텍스트 뷰가 정상적으로 표시되지만 글고 아니다. 어떤 아이디어라도 제발?

+0

당신은 내가 layout_width와 layout_height를 추가 –

+0

@ChintanRaghwani 당신의 텍스트 뷰에 lauoyt/크기를 추가하지 않은 내 스타일로. –

답변

1

당신은 다음의 LinearLayout에

android:focusable="true" 
android:focusableInTouchMode="true" 

를 제거하거나 그렇지 않으면 당신은 글고 즉,에 대한 배경 색상을 설정할 수 있습니다 안드로이드 4.0.3를 사용하는 경우.

<item name="android:background">your required color </item> 

같이 스타일 항목 추가에

그런 다음 당신은 할 수 글고을 볼 수 있습니다.

또한 color.xml에서 활동

EditText editText = new EditText(this); 
editText.setBackgroundColor(R.color.BLUE); 
editText.setTextColor(R.color.BLACK); 
row.addView(editText); 

에서 다음과 같이 할 수

<resources> 
<color name="Black">#000000</color> 
<color name="Blue">#FF006767</color> 
</resources> 
+0

답장을 보내 주셔서 감사합니다. 네, 안드로이드 4.0.3을 사용하고 있습니다. 그러나 두 가지 제안을 시도했지만 안타깝게도 editText는 여전히 나타나지 않습니다. –

+0

수정 된 내용을 확인하십시오. 나는 그것을 확인했다 – Harish

+1

그래, 내가 문맥만을 소요 EditText 생성자를 사용하면 작동합니다. 다른 모든 UI 구성 요소에 대해 많은 스타일을 사용하고 프로그래밍 방식으로 스타일을 추가하고 싶습니다. 그 이유는 세 번째 매개 변수로 스타일을 사용하는 생성자를 사용했기 때문입니다. –

관련 문제