2016-04-29 6 views
-3

アクティビティとフラグメントのレイアウトを作成するにはどうすればよいですか?アクティビティ内でフラグメントレイアウトを作成する方法は?

私は主要な活動のレイアウトを持っていますが、4つの断片を含んでいます(それらはずらしてあります)。 私はそれらの2つを書きます。彼らは似ています。

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

<GridLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
tools:showIn="@layout/activity_main" 
tools:context="net.user.app.MainActivity" 
android:layout_row="1" 
android:layout_column="6" 
android:layout_weight="10" 
> 

<GridLayout 
    android:layout_width="250dp" 
    android:layout_height="118dp" 
    android:layout_row="1" 
    android:layout_column="0"> 

    <fragment 
     android:name="net.company.app.MyFragment" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:id="@+id/fragment_1" 

     android:layout_row="1" 
     android:layout_column="0" 
     android:layout_marginEnd="5dp" 
     android:layout_marginTop="5dp" 
     tools:layout="@layout/fragment_layout" /> 

<fragment 
     android:name="net.company.app.MyFragment" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:id="@+id/fragment_2" 

     android:layout_row="1" 
     android:layout_column="1" 
     android:layout_marginEnd="5dp" 
     android:layout_marginTop="5dp" 
     tools:layout="@layout/fragment_layout" /> 


</GridLayout> 

だから、私は、フラグメントのコード記述:私が実行したときに、

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/fragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MyFragment"> 
android:background="@drawable/back"> 

<GridLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="left|top" 
    android:columnCount="3" 
    android:rowCount="11"> 

    <TextView 
     android:layout_width="45dp" 
     android:layout_height="72dp" 
     android:id="@+id/tvView" 
     android:text="0" 
     android:layout_gravity="right|center_vertical" 
     android:layout_row="4" 
     android:layout_column="0" /> 

    <TextView 
     android:layout_width="40dp" 
     android:layout_height="85dp" 
     android:text="Some Content" 
     android:id="@+id/tvName" 
     android:layout_gravity="center_horizontal|top" 
     android:layout_row="4" 
     android:layout_column="2" /> 

    <EditText 
     android:layout_width="80dp" 
     android:layout_height="107dp" 
     android:inputType="number" 
     android:ems="10" 
     android:id="@+id/etText" 
     android:layout_gravity="left|center_vertical" 
     android:text="0" 
     android:layout_row="8" 
     android:layout_column="0" /> 

    <ImageButton 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:id="@+id/ibButton" 
     android:background="#b69292" 
     /> 
</GridLayout> 

をしかし、それは非常に悪いに見えるAPP-:Imageボタンは非常に小さく見えます。 私が理解しているように、ImageButtonの幅は50dpになりますか?または、幅はアクティビティのフラグメントのサイズによって異なりますか?

アクティビティ内でフラグメントレイアウトを作成するにはどうすればよいですか? このケースについてのチュートリアルのリンクはいくつかありますか?

+1

は、なぜあなたは、あなたの意見は、固定サイズを作っていますか? –

答えて

3

代わりに、フラグメントレイアウトを使用して、あなたはでframeLayout使用することができ、その後、あなたはあなたの活動でこれを書くことができます。

ここ
YourFragment yourFragment = new YourFragment(); 
    getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout, yourFragment).commit(); 

は、frame_layoutがあなたの活動のxmlファイル内でframeLayoutタグです。 これははるかに簡単です。

1

アプリケーションを異なる画面サイズで実行するには、wrap_contentmatch_parentなどの一般的なサイズのビューを定義する必要があります。これは、異なる画面サイズに対してアプリケーションをよりダイナミックにするのに役立ちます。ここで

は、そのための簡単な例です:
http://developer.android.com/guide/topics/ui/declaring-layout.html#write

関連する問題