いくつかのフィールドが編集可能なテーブルを表示したい-この例を参照してください:
<?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>
EditTextフィールドでtextSize属性が無視されるのはなぜですか?すべてのセルのフォントサイズが同じになるように、これらのフィールドのテキストを小さくするにはどうすればよいですか?明示的に設定されていても、Androidがその属性を尊重しないのはなぜですか?
マイケル
Dpの代わりにspを使うべきだと思います。
Android:textSize="20sp"
TextSizeプロパティに「dp」ではなく「dip」を試してください。理由はわかりませんが、ドキュメントにこれらの2つは等しいと記載されている場合でも、「dp」を使用しても効果がない場合があります。だから私はいつも「ディップ」を使います。
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);
}
});
あなたの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>
愚かなシステムは私に反対票を投じたりコメントさせたりすることはありません。
spも密度に依存しません。 spとdpの違いは、spがユーザーのフォントサイズの設定に従ってスケーリングされることです。これは、フォントのサイズに合わせて拡大縮小する必要があるすべてのフォントとユーザーインターフェイス要素をsp単位で実行する必要があることを意味します。フォントサイズに合わせて拡大縮小してはならない項目のみをdp単位で実行する必要があります。