ふわふわぷかぷか

javaって何?から始めた初心者のandroidアプリ開発メモ。でも最近はイラレにはまってます。

画面を開いた時に非表示にする。

最初にアプリの画面を開いた時に、非表示にする方法です。

今回はテキストビューを非表示にしてみますが、ボタンなどでもできます。

 

ボタンを押して表示/非表示を切り替える方法は→「ボタン2つ」「ボタン1つ

 

最初の状態は↓です。

f:id:fuwafuwapukapuka:20140221222740j:plain

 

上の画像の、「テキスト2」を非表示にしてみます。

main.xmlは、表示する場合も非表示の場合も同じです。

xmlで指定する場合は「android:visibility=""」を使用

 

<?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:background="#ffffff">

   
        <TextView
        android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="テキスト1" />
       
        <TextView
        android:id="@+id/text2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="テキスト2" />
       
        <TextView
        android:id="@+id/text3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="テキスト3" />

</LinearLayout>

 Activityに、setVisibility(View.INVISIBLE);を書き足します。

public class ●●●Activity extends Activity implements OnClickListener {
    TextView tv1,tv2,tv3;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv1 = (TextView) findViewById(R.id.text1);
        tv2 = (TextView) findViewById(R.id.text2);
        tv3 = (TextView) findViewById(R.id.text3);
       
        tv2.setVisibility(View.INVISIBLE);
    }
    public void …

 実行するとこうなります。

f:id:fuwafuwapukapuka:20140221223717j:plain

テキスト2が消えました。

ただ、INVISIBLEで非表示にすると見えなくなるだけで、テキスト1と3の間に隙間ができてしまいます。

間を詰めて非表示にするためには、setVisibility(View.GONE);を使います。

Activityは、

public class HelloandroidActivity extends Activity implements OnClickListener {
    TextView tv1,tv2,tv3;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv1 = (TextView) findViewById(R.id.text1);
        tv2 = (TextView) findViewById(R.id.text2);
        tv3 = (TextView) findViewById(R.id.text3);
       
        tv2.setVisibility(View.GONE);
    }
    public void …

 となり、実行すると、

f:id:fuwafuwapukapuka:20140221224114j:plain

テキスト1と3のすき間がなくなりました。

 

ボタンを押して表示/非表示を切り替える方法は→「ボタン2つ」「ボタン1つ

 

GOOGLE ANDROIDアプリケーション開発入門

GOOGLE ANDROIDアプリケーション開発入門