08第5章:ユーザーインターフェイスの基本

ユーザーインターフェイスの基本

UIインターフェースを理解する

UIはUserInterfaceの略で、携帯電話のアプリケーションからコンピューターのソフトウェアまで、人とツールを相互作用させるためのツールです。

UIデザインとは、ソフトウェアの人間とコンピューターの相互作用、操作ロジック、および美しいインターフェイスの全体的なデザインを指します。

見る

ビューはAndroidのビットビューを理解できます。彼は画面上の長方形の領域を占め、コンポーネントの描画と時間処理の方法を提供する責任があります。
Viewクラスは、すべてのウィジェットの基本クラスです。たとえば、TextView(テキストボックス)、EditText(編集ボックス)、およびButton(ボタン)はすべてウィジェットコンポーネントです。

Viewクラスはandroid.viewパッケージにあり、テキストボックスコンポーネントTextViewはViewクラスのサブクラスであり、android.widgetパッケージにあります。

ViewGroup

コンテナ。ViewGroupクラスはViewクラスを継承します。これはViewクラスの拡張であり、他のコンポーネントを保持するために使用されるコンテナです。ただし、ViewGroupは抽象クラスであるため、実際には、通常、ViewGroupのサブクラスがコンテナとして使用されます。

ViewGroupがその子コンポーネントの配布を制御する場合、多くの場合、ViewGroup.LayoutParamsとViewGroup.MarginLayoutParamsに依存します。

ViewGroup.LayoutParamsクラスは、レイアウトの位置、高さ、幅などの情報をカプセル化します。android:layout_heightとandroid:layout_widthの2つのXML属性をサポートします。これらの属性値は、正確な値、またはFILL_PARENT(親コンテナーと同じものを表す)、MATCH_PARENT(親コンテナーと同じものを表す、API8以上が必要)にすることができます。サポートされているのみ)またはWRAP_CONTENT(パッケージ自体のコンテンツを示す)が指定されている

ViewGroup.MarginLayoutParamsクラス
ViewGroup.MarginLayoutParamsクラスは、その子コンポーネントのマージンを制御するために使用されます。

パディング和マージン

パディングは、ビューの上部、下部、左側、右側のパディングピクセルを表し、パディングとも呼ばれます。コンテンツとビューの端の間の距離を設定します。パディングはビューの幅と高さを占めます。指定された内側マージンを設定した後、ビューコンテンツはビューエッジの指定された距離から外れます。

マージンは、マージンと呼ばれる、コンポーネントの上部、下部、左側、および右側の空白領域を表します。コンポーネントとその親コン​​テナの間の距離を設定します。マージンは、コンポーネントの幅と高さを占めません。コンポーネントの外側マージンを設定した後、コンポーネントは指定された距離だけ親コンテナから離れます。隣接するコンポーネントがある場合は、指定された距離だけ隣接するコンポーネントからも離れます。

px、dp、およびsp

px(ピクセル、ピクセル):各pxは画面上のポイントに対応します。

dp(独立したピクセルを設定)は画面密度に基づく抽象的な単位であり、dipも使用できます。1インチあたり160ドットのモニターでは、1dp = 1pxです。ただし、画面密度が変化すると、dpとpxの間の変換も変化します。

sp(比例ピクセル):主にフォントのサイズを処理します。これは、ユーザーのフォントサイズの設定に応じて拡大縮小できます。

インターフェイスレイアウト

Androidは、相対レイアウト、線形レイアウト、フレームレイアウト、テーブルレイアウト、グリッドレイアウトの詳細な紹介を提供します

相対レイアウト

相対レイアウトでは、その中に配置されたコンポーネントは、兄弟コンポーネントまたは親コンテナの位置を基準にして配置されます。

android:gravityは
、レイアウトマネージャーで各サブコンポーネントの配置位置を設定するために使用されます
android:ignoreGravityは
、重力属性の影響を受けないコンポーネントを指定するために使用されます
ここに写真の説明を挿入

ここに写真の説明を挿入

線形レイアウト

配置android:方向プロパティの制御、配置方法android:
水平水平
垂直垂直配置の重力制御プロパティ
android:重力:コンポーネントの位置を表示するために提供される属性レイアウトマネージャー
android:layout_width:このコンポーネントは設定に使用されます基本幅
android:layout_height:コンポーネントの基本高さを設定するために使用されます
android:idは、現在のコンポーネントのid属性を指定するために使用されます
android:backgroundコンポーネントは背景を設定します

android:layout_gravity:親コンテナ内のコンポーネントの位置を設定するために使用されます
android:layout_weightは、コンポーネントの重量を設定するために使用されます。つまり、親コンテナの残りのスペースに対するコンポーネントの比率を設定するために使用されます。

フレームレイアウト

android:foregroundは、フレームレイアウトコンテナの前景画像を設定します
android:goregroundGravityは、前景画像が表示される位置である前景画像を描画する重力属性を定義します

テーブルレイアウト

テーブルレイアウトは、<TableLayout>(テーブルレイアウトマネージャー)を使用して定義されます。テーブルレイアウトでは、複数の<TableRow>タグを追加できます。<TableRow>タグもコンテナーであるため、各<TableRow>タグは1行を占めます。このタグでは他のコンポーネントを追加することもできます。<TableRow>タグでは、コンポーネントを追加するたびに、テーブルに列が追加されます。

グリッドレイアウト

グリッドレイアウト

android:columnCount:グリッドの列の最大数を指定するために使用されます
android:orientationは
、行と列が割り当てられていないときにグリッドに配置されるコンポーネントの配置を指定するために使用されます。その属性値は、水平配置の場合は水平、垂直配置の
場合は垂直
です。android :rowCountは、グリッド内の最大行数を指定するために使用されます。android:useDefaultMarginsは、デフォルトのマージンを使用するかどうかを指定するために使用されます。属性値がtrueに設定されている場合、使用を意味します。 falseの場合、
android:aligbnebtModeを使用しないことを意味します。レイアウトマネージャーが使用する配置モードを指定するために使用されます。属性値がalignBoundsの場合は境界を意味し、値がalignMarginsの場合は配置マージンを意味します。デフォルト値はalignMarginsです。

android:rowCountは、グリッドの最大行数を指定するために使用されます

android:useDefaultMarginsは、デフォルトのマージンを使用するかどうかを指定するために使用されます。属性値がtrueに設定されている場合は使用することを意味し、falseの場合は使用しないことを意味します。

android:alignmentModeは、レイアウトマネージャーが使用する配置モードを指定するために使用されます。属性値がalignBoundsの場合は配置境界を示し、値がalignMarginsの場合は配置マージンを示します。デフォルト値はalignMarginsです。

android:layout_columnは、最初の数列のサブコンポーネント位置グリッドを指定するために使用されます
android:layout_columnSpanは、複数の列にわたってサブコンポーネントを水平方向に指定するために使用されます
android:layout_columnWeightは、水平方向のサブコンポーネントの重み、つまりコンポーネント分布レベルを指定するために使用されます残りのスペースの比率
android:layout_gravity:サブコンポーネントがグリッドのスペースをどのように占めるかを指定するために使用されます。
android:layot_rowは、最初の数行のサブコンポーネント位置グリッドを指定するために使用されます
android:layout_rowSpanは
、垂直方向に複数の行またがるサブコンポーネントを指定するために使用されますandroid:layout_rowWeight:垂直方向のサブコンポーネントの重み、つまりコンポーネント分布を指定するために使用されます垂直方向の残りのスペースの割合

インターフェイスコンポーネント:

imageButton

android:src = @ drawable / pictureファイル名」

TextView

TextViewは、画面にテキストを表示するために使用されるテキストボックスコンポーネントです。これは、Javaのテキストボックスコンポーネントとは異なります。これは、JavaのラベルであるJLableに相当します。

EditText

EditTextは編集ボックスコンポーネントであり、画面にテキスト入力ボックスを表示するために使用されます。これは、javaのテキストボックスコンポーネントに似ています。androidの編集ボックスコンポーネントは、同じ行または複数行にテキストを入力できます。また、指定された形式の
android:inputType属性でテキストを入力することもできます。これは、入力メソッドが適切なタイプを表示するのに役立ちます。textPasswordはパスワードです。

ラジオボタン

RadioButtonは、Buttonから継承されたラジオボタンです。

RadioButtonのコード質問

<RadioGroup>
	android:id="@+id/radioGroup1"
	android:orientation="horizontal"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content">
	<RadioButton
		android:layout_height="wrap_content"
		android:id="@+id/radio0"
		android:text="男"
		android:layout_width="wrap_content"
		android:checked="true"/>
	<RadioButton
		android:layout_height="wrap_content"
		android:id="@+id/radio1"
		android:text="女"
		android:layout_width="wrap_content"/>
	</RadioGroup>


//在改变单选按钮组的值时获取
RadioGroup sex=(RadioGroup)findViewById(R.id.radioGroup1);
sex.setOnCheckedChangListener(new OnCheckedChangeListener(){
    
    

@Override
public void onCheckedChanged(RadioGroup group,int checkedId){
    
    
	RadioButton r=(RadioButton)findViewById(chekedId);
	r.getText();
	}
});


//在单击其他按钮是获取
final RadioGroup sex=(RadioGroup)findViewById(R.id.radioGroup1);
Button button=(Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener(){
    
    

	@Override
	public void onClick(View v){
    
    
		for(int i=0;i<sex.getChildCount();i++){
    
    
			RadioButton r=(RadioButton)sex.getChildAt(i);
			if(r.isChecked(){
    
    
				r.getText();
				break;
			}
		}
	}
});

//在之前的那个例子里面改变单选按钮组的值时获取
final RadioGroup sex=(RadioGroup)findViewById(R.id.radioGroup1);
sex.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    
    

	@Override
	public void onCheckedChanged(RadioGroup group,int checkedId){
    
    
		RadioButton r=(RadioButton)findViewById(checkedId);
		Log.i("单选按钮","您的选择是:"+r.getText());
	}
});


//单击“提交”按钮时获取
Button button=(Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener(){
    
    
	@Override
	public void onClick(View v){
    
    
		for(int i=0;i<sex.getChildCount();i++){
    
    
		RadioButton r=(RadioButton)sex.getChildAt(i);
		if(r.isChecked()){
    
    
			Log.i("单选按钮","性别:" +r.getText());
			break;
		}
	}
}
});
		

スピナー


<Spiner
	android:prompt="@string/info"
	android:entries="@array/数组名称"
	android:layout_height="wrap_content"
	android:layout_width="wrap_content"
	android:id="@+id/ID号”
>
</Spinner>

グリッドビュー

グリッドビューは、行と列のレイアウトで複数のコンポーネントを表示し、通常、画像またはアイコンを表示するために使用されます。グリッドビューを使用する場合、

おすすめ

転載: blog.csdn.net/weixin_44522477/article/details/111867668
おすすめ