Je souhaite afficher une table avec certains champs modifiables - voir cet exemple:
<?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:orientation="vertical"
Android:paddingLeft="1dip"
Android:paddingRight="1dip"
Android:paddingBottom="1dip"
Android:background="#F00"
>
<ScrollView
Android:id="@+id/ScrollView01"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:scrollbars="vertical"
>
<HorizontalScrollView
Android:id="@+id/HorizontalScrollView01"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:scrollbars="horizontal"
>
<TableLayout
Android:id="@+id/ItemPane"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="#EEE"
>
<TableRow
Android:id="@+id/DataRow"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="#888"
Android:layout_margin="0dp"
Android:gravity="left"
>
<TextView
Android:id="@+id/NameField"
Android:text="Fieldname"
Android:background="#EEE"
Android:textSize="14dp"
Android:layout_margin="1dp"
Android:layout_marginBottom="0dp"
Android:paddingLeft="3dp"
Android:paddingRight="3dp"
/>
<EditText
Android:id="@+id/DataField"
Android:text="some field"
Android:background="#EEE"
Android:textSize="14dp"
Android:layout_margin="1dp"
Android:layout_marginBottom="0dp"
Android:paddingLeft="3dp"
Android:paddingRight="3dp"
Android:singleLine="true"
/>
<EditText
Android:id="@+id/DataField2"
Android:text="some longish field content..."
Android:background="#EEE"
Android:textSize="14dp"
Android:layout_margin="1dp"
Android:layout_marginBottom="0dp"
Android:paddingLeft="3dp"
Android:paddingRight="3dp"
Android:singleLine="true"
/>
</TableRow>
</TableLayout>
</HorizontalScrollView>
</ScrollView>
</LinearLayout>
Pourquoi l'attribut textSize est-il ignoré dans les champs EditText? Comment puis-je réduire la taille du texte dans ces champs afin que TOUTES les cellules aient la même taille de police? Pourquoi Android n'honore-t-il pas cet attribut, même s'il est défini explicitement?
Michael
Je pense que vous devriez utiliser sp au lieu de dp. Android: textSize = "20sp"
Essayez 'dip' au lieu de 'dp' pour la propriété textSize. Je ne sais pas pourquoi, mais parfois, utiliser «dp» n'a aucun effet, même si la documentation indique que ces deux sont égaux. Donc, j'utilise toujours 'dip'.
Essayez ce qui suit dans votre main_Activity.Java
final Button btpls=(Button) findViewById(R.id.btpls);
btpls.setOnClickListener(new OnClickListener(){
public void onClick(View t){
float i=textfield.getTextSize();
textfield.setTextSize(i+1) ;
}
});
final Button btmins=(Button) findViewById(R.id.btmins);
btmins.setOnClickListener(new OnClickListener(){
public void onClick(View t){
float n=textfield.getTextSize();
textfield.setTextSize(n-1);
}
});
Dans vos styles.xml
<style name="HintTextSize" parent="TextAppearance.Design.Hint">
<item name="Android:textSize">16sp</item>
<item name="Android:paddingLeft">16sp</item>
</style>
<Android.support.design.widget.TextInputLayout
Android:id="@+id/trailer_one_text_input_layout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
**app:hintTextAppearance="@style/TextLabel"
Android:layout_marginTop="10dp">
<EditText
Android:id="@+id/edit_text_trailer_one"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp"
Android:hint="@string/trailer_one"
Android:inputType="text"
Android:singleLine="true"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:textColor="@color/DrivingDarkGrey"/>
</Android.support.design.widget.TextInputLayout>
Un système stupide ne me laissera pas voter ou commenter.
sp est également indépendant de la densité. La différence entre sp et dp est que sp est mis à l'échelle en fonction des préférences de l'utilisateur en matière de taille de police. Cela signifie que toutes les polices et tous les éléments d'interface utilisateur devant être adaptés à la taille de la police doivent être créés en unités sp. Seuls les éléments qui ne doivent pas être redimensionnés avec la taille de la police doivent être exprimés en unités dp.